我并没有试图提示英特尔与AT&T之争(无论如何,现在他们都支持英特尔语法)或者问哪一个本身"更好",我只是想知道选择其中一个的实际差异. .
基本上,当我几年前拿起一些基本的x86组件时,除了我正在阅读的那本书之外,我没有理由使用NASM - 这让我坚定但不由自主地进入了NASM阵营.从那时起,我使用汇编的原因很少,所以我没有机会尝试GAS.
请记住,它们都支持英特尔语法(我个人更喜欢),理论上至少应该生成相同的二进制文件(我知道它们可能不会,但意思不应该改变),有什么理由支持非此即彼?
是命令行选项吗?宏?非助记符关键字?或者是其他东西?
谢谢 :)
在一个发行版直接在另一个发行版上使用GCC 4.7.x编译的C++二进制文件的发行版之间是否有任何特性或变化?我理解理想的情况是在第二个发行版上从源代码编译,但我真的不想担心在我的生产机器上编译新的GCC版本和程序源代码.我是一个相对缺乏经验的linux用户(因此问题!)并且仍然更喜欢IDE而不是命令行编译,ssh是我真正可以用来访问生产机器的.
代码本身并不是什么有趣的东西,但它确实利用了一些工厂OS设施,如阻塞套接字等.
任何建议将不胜感激!
有谁知道在Microsoft的C++标准库实现中使用哪种或哪种方法可以找出哪些算法?这只是私人信息吗?
我不怀疑他们使用的算法可以保证STL容器的C++标准中规定的性能要求等等,但我很想知道具体细节!
谢谢!
RegQueryValueEx()
基本上要求您对保存注册表值所需的缓冲区大小进行疯狂猜测。如果你搞砸了,你就会ERROR_MORE_DATA
自找麻烦。显然,您可以在循环中调用该函数并每次增加缓冲区大小,直到您幸运为止,但这个“解决方案”让我感到恶心。我是否缺少一种正确执行此操作的方法,或者 API 真的像看起来那么糟糕吗?