我在这个代码中使用Facebook库: class FacebookRestClient { … public function &users_hasAppPermission($ext_perm, $uid=null) { return $this->call_method('facebook.users.hasAppPermission', array('ext_perm' => $ext_perm, 'uid' => $uid)); } … } 在函数定义的开头是什么意思,我怎么去使用这样的库(在一个简单的例子中)
这可能是徒劳的,因为我知道编写一个操作系统是非常复杂的(尤其是自己)。 我不期望构build下一个Linux或Windows。 我知道这将是可怕的,越野车,并将无法正常工作,但没关系。 我想自己写一切,在大会 , C ,和(一些) C + + 。 这是一个未来的项目,因为我现在正在忙于其他一些事情,并没有立即有时间,但我想我现在会问,所以也许我可以得到很多答案,它可以build立并成为这种方法的一个有用的资源(我所看到的其他一切都涉及到使用minix,使用现有的引导程序,在虚拟引导程序中构build它等)。 我想用显示器,键盘和鼠标设置我的旧桌面之一,并开始在一个空白的硬盘驱动器上工作。 我想学习如何编写自己的bootloader(我已经find了很多关于这方面的资源,但为了完整性,请添加一些好的资源),我自己的USB驱动程序(如果有必要的话),CD驱动程序(如果这是必要的)等一切,从头开始。 如何将代码放到电脑上? 最好用软盘来做吗? 大多数计算机是否可以通过USB棒进行操作? 我需要什么样的驱动程序?你能提出一些build议吗? 启动序列后 – 那么是什么? 如何进入保护模式等 如何在没有操作系统的帮助下pipe理内存? 我只是使用任何我想要的地址? 不需要初始化? 我无疑会遇到什么会迷惑我吗? 我怎样才能使它不是一个命令行O / S,而是一个graphics? 什么是build立在graphics操作系统上? 比如,我该如何做一些事情,如命令行,字体和顶部的图片? 我在哪里可以阅读有关设置多任务环境? (即,有两个graphics式的命令行并排运行)。 我将如何build立一种窗口系统? 一旦设置简单的多任务处理,如何在屏幕上显示graphics? 相信我,我明白这是一个非常复杂的项目,我可能永远不会完成它或任何使用它写任何东西。 还有很多其他的东西,我没有提到,如果你想到的话,也可以随意添加。 请为每个答案放上一个“主题”,例如,USB驱动程序,然后可能是资源列表,要注意的东西等等。 此外,请不要build议build立另一个操作系统或预先存在的代码。 我知道我会读很多预先存在的代码(比如linux内核,示例资源,现有的驱动程序等等),但是最终我想自己写所有的代码。 我知道我应该从别的东西上来,而且还有很多其他的问题,如果我改变主意,走上这条路,我就能读懂。 但是这一切都是关于从头开始整个事情。 更新 我有很多很好的答案,主要是关于引导过程,文件系统和各种现有的项目,以供参考。 有关如何获得graphics的任何build议? 不同的video模式,以及如何与他们合作等?
内核空间和用户空间有什么区别? 内核空间,内核线程,内核进程和内核堆栈意味着什么? 另外,为什么我们需要这种差异?
我有一个PHP脚本,可能会放在Windows系统或Linux系统。 无论是哪种情况,我都需要运行不同的命令。 我如何检测我在哪个环境? (最好是PHP而不是聪明的系统黑客) 实在抱歉!! 脚本从命令行运行!!!!
用户variables(如PATH , TMP等)和系统variables之间有什么区别? 我不小心删除了用户variablesPATH 。 我应该做些什么?
有谁知道如何设置一个计划任务在后台使用Windows任务计划程序运行? 似乎没有任何select这样做。
我无法理解内核和操作系统之间的区别。 我没有看到他们之间的任何区别。 内核是一个操作系统吗?
当多个目录需要连接时,就像在一个可执行的searchpath中一样,有一个依赖于操作系统的分隔符。 对于Windows而言, ';' ,对于Linux来说是':' 。 有没有在Python的方式来获取哪个字符分裂? 在这个问题的讨论中如何find我的pythonpath使用python? ,这是build议os.sep会做到这一点。 这个答案是错误的,因为它是目录或文件名组件的分隔符,等同于'\\'或'/' 。
在创buildjavascript对象时,我可以在构造函数或原型中放置一个方法声明。 例如,说我想要一个具有Name属性和Bark方法的Dog类。 我可以把Bark方法的声明放入构造函数中: var Dog = function(name) { this.Name = name; this.Bark = function() { alert(this.Name + " bark"); }; } 或者我可以把它作为原型对象的一个方法: var Dog = function(name) { this.Name = name; } Dog.prototype.Bark = function() { alert(this.Name + " bark"); }; 当我实例化Dogtypes的对象时,这两种方法似乎都能正常工作: var dog = new Dog("Fido"); dog.Bark(); //Both approaches show "Fido bark" 我应该更喜欢这些方法之一吗? 使用其中一个有什么优势? 在幕后,这两种方法最终会做同样的事情吗? […]
对不起长度,这是有必要的。 介绍 我正在为Windows Vista / 7在C#4.0中开发一个远程桌面软件(只是为了好玩)。 我已经经历了一些基本的障碍:我有一个强大的UDP消息传递系统,相对干净的程序devise,我有一个镜像驱动程序(DemoForge的免费DFMirage镜像驱动程序)启动并运行,我已经实现了所有NAT穿越除了对称NAT之外的NATtypes(存在于企业防火墙情况下)。 关于屏幕传输/共享,感谢镜像驱动程序,我自动通知更改的屏幕区域,我可以简单地将镜像驱动程序的不断变化的屏幕位图编组到我自己的位图。 然后我把这个屏幕区域压缩成PNG格式,然后把它从服务器发送到我的客户端。 事情看起来不错,但速度不够快。 它和VNC一样慢(顺便说一句,我没有使用VNC协议,只是一个自定义的业余协议)。 从最慢的远程桌面软件到最快的列表,通常从类似VNC的实现开始,然后爬上Microsoft Windows远程桌面…然后… TeamViewer。 不太确定CrossLoop,LogMeIn – 我没有使用它们,但TeamViewer 非常快速。 这是相当活的。 我在命令提示符下运行了一个tree命令,并且延迟了20毫秒。 我可以在网上浏览网页,比我的笔记本电脑慢几毫秒。 在Visual Studio中垂直滚动代码有50 ms的延迟时间。 考虑一下TeamViewer的屏幕传输解决scheme必须具备的强大function。 VNC使用基于轮询的钩子检测屏幕变化,并在最差的情况下使用powershell屏幕捕获/比较。 在最好的情况下,他们使用像DFMirage这样的镜像驱动程序。 我在这个级别。 他们使用一种叫做RFB协议的东西。 微软Windows远程桌面显然比VNC高一步。 我从StackOverflow的某个地方听说,Windows远程桌面不会发送屏幕位图,而是实际的绘图命令。 这是相当出色的,因为它可以发送简单的文本(在这个坐标上绘制这个矩形,并用这个渐变来着色)! 远程桌面确实非常快 – 这是在家工作的标准方式。 它使用一种称为RDP协议的东西。 现在,TeamViewer对我来说是一个完整的秘密。 显然,他们发布了版本2的源代码(截至2012年2月,TeamViewer是第7版)。 人们已经读过它,并说版本2是无用的 – 这只是对自动穿越NAT的VNC的一些改进。 但版本7 …现在是很快的。 我的意思是,它实际上比Windows远程桌面更快。 我使用TeamViewer对DirectX 3D游戏进行了stream式处理(每秒1帧,但Windows远程桌面甚至不允许DirectX运行)。 顺便说一下,TeamViewer在没有镜像驱动程序的情况下执行所有操作。 有一个选项来安装一个,它只是快一点。 问题 我的问题是,TeamViewer如此之快? 这一定是不可能的。 如果你在24位深度上得到1920×1080的分辨率(16位深度会显着难看),那么仍然是6220800字节。 即使使用libjpeg-turbo(大公司使用的最快速的JPG压缩库之一),将其压缩到30KB(让我们非常慷慨),也需要一段时间才能通过TeamViewer的服务器(TeamViewer绕过企业对称NAT,只需通过代理他们的服务器)。 而libjpeg-turbo压缩需要时间来压缩。 高质量的JPG压缩需要175毫秒的完整1920 […]