问题标签 [compiler-specific]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在抽象基类上使用 __declspec(novtable) 是否会以任何方式影响 RTTI?
或者,使用 __declspec(novtable) 是否还有其他已知的负面影响?我似乎找不到任何问题的参考。
compiler-specific - 什么是编译器中的动态优化
人们在谈论编译器中的动态优化。这是什么意思?谁能给我一个公平的想法?
c++ - C++11 特征检查
如何检查单个 C++0x/C++11 语言功能是否存在?我知道 Clang 有一个很好的系统。GCC、Visual Studio 或 Boost 呢?我想一种方法是检测编译器版本并将其与该版本中引入的功能相关联。但这很麻烦。有人已经这样做了吗?
gcc - The ".text" section accessed in memory and loaded from disc differs for GCC compiled application
The content of the '.text' section is accessed using code like this:
1) For the application which is loaded into memory (i.e. executing):
2) For the application file read from hdd and mapped into memory:
If the application is built with Visual Studio, all the bytes between pCodeStart and pCodeEnd are matching in both cases.
But if the application is built with GCC (MinGW) some bytes which are following pCodeStart and prior pCodeEnd are the same but somewhere in the middle some different bytes are appearing.
Why does it happen?
c++ - 英特尔编译器 - 错误:标识符“alignof”未定义
我正在尝试运行 alignof 运算符的示例。
当我用 gcc (g++ -std=c++11 alignof.cpp) 编译它时,我没有收到任何错误。但是当我用 icc (icpc -std=c++11 alignof.cpp) 编译它时,我得到以下错误,我不知道为什么:
我在同一台机器上运行代码,并使用模块命令更改编译器。alignof 运算符如何未定义?
c++ - 实现特定 std::mbstate_t 的大小
这方面的文档相当缺乏,所以我希望社区可以在这里运行一个简单的测试并发布结果,以便我和其他任何人都有参考。
如果您可以在此处发布结果并提及您正在使用的编译器,我将不胜感激。
在 VS2010 上,它被声明为typedef int mbstate_t;
32 位和 64 位版本的大小均为 4 字节。
我问这个是因为mbstate_t
是streampos
. 我需要使用这个成员来存储编码的转换状态。我可以逃脱的最小空间是 3 个字节,所以我需要知道是否有任何实现会破坏我的代码。
提前致谢。
linux - 如何使用 Green Hills Multi IDE 编译 Linux 应用程序
Green Hills MULTI 6.xx 目前支持 2 个专有操作系统,INTEGRITY 和 VelOSity 以及 ThreadX(我们不称其为操作系统)。有没有人尝试使用他们的编译器和库来为 Linux 编译应用程序?我浏览了他们的用户手册,cc86 编译器提供了标志 -syslib 和 -os_dir,它们适用于嵌入式操作系统。但是这方面的文档很害怕......任何指针都将不胜感激!
c - 解锁已经解锁的线程
在一个已经运行的旧代码中,我找到了一个他们试图解锁一个已经解锁的互斥锁的地方。
我很清楚解锁已经解锁的互斥锁会导致未定义的行为。
但我的疑问是
- 我可以通过检查编译器文档来预测行为吗?
- 是否有可能导致线程阻塞(死锁)?
pthread_mutex_unlock
在解锁已解锁线程的位置会看到未定义的行为?或者在任何下一个 pthread 调用中都可以看到未定义的行为?
gcc - Libc 名称和编译器
如果问题微不足道,我深表歉意,但我也四处搜索并下载了 gcc 源代码,但没有找到满意的答案。
那么,编译器( gcc/clang/etc... )如何知道 libc 的文件名?我知道类似 unix 的系统将其命名为 libc.a、libc.so 等……但是,例如,mac os x 将其命名为 libSystem。我想这个名字在编译器的代码中是硬编码的,但我还没有找到任何证据。