gcc相关内容
..
..
在 Visual C++ 中,可以使用 #pragma 警告(禁用: ...).我还发现在 GCC 中你可以 覆盖每个文件编译器标志.如何为“下一行"或使用 GCC 的代码区域周围的推送/弹出语义执行此操作? 解决方案 好像是这个可以做到.我无法确定它添加的 GCC 版本,但它是在 2010 年 6 月之前的某个时间. 这是一个例子: #pragma GCC 诊断错误“-Wunin
..
在一个 C 程序中,我尝试了以下操作(只是为了检查行为) x = 5 % (-3);y = (-5) % (3);z = (-5) % (-3);printf("%d ,%d ,%d", x, y, z); 它在 gcc 中给了我 (2, -2 , -2) 的输出.我每次都期待一个积极的结果.模数可以是负数吗?任何人都可以解释这种行为吗? 解决方案 C99 要求 a/b 可表示时:
..
如何做到这一点? 如果我想分析某些东西是如何编译的,我将如何获得发出的汇编代码? 解决方案 使用 -S 选项来 gcc(或 g++). gcc -S helloworld.c 这将在 helloworld.c 上运行预处理器 (cpp),执行初始编译,然后在运行汇编器之前停止. 默认情况下,这将输出一个文件 helloworld.s.仍然可以使用 -o 选项设置输出文件.
..
我有一个小型 C 程序,它只从标准输入读取数字,每个循环周期一个.如果用户输入了一些 NaN,则应将错误打印到控制台并再次返回输入提示.在输入“0"时,循环应该结束,给定的正/负值的数量应该打印到控制台.这是程序: #include 主函数(){整数,p = 0,n = 0;而(1){printf("->");if (scanf("%d", &number) == 0) {pr
..
..
我有一个 .cpp 文件,其中包含一些头文件.这些头文件也可能包括其他头文件.包含保护措施可防止两次包含同一文件. 知道每个文件只包含一次.有没有办法计算出所有标题的最终顺序? 我尝试使用 gcc -E 来获取预处理器输出,但生成的代码似乎无法用于提取我想要的信息.有人可以帮忙吗? 编辑 我问的原因是因为我需要以正确的顺序将我的头文件包含在 SWIG 接口文件中,以避免生成
..
我有这些文件 consumer.cpp消费者.hpp定义.hpp主文件生成文件生产者.cpp生产者.hpp 这是文件defines.hpp #ifndef DEFINES_HPP#define DEFINES_HPP#include #include #include #include #include #incl
..
引用 iOS 关于 Wrapper Headers 的文档: #include_next 不区分 和“文件"包含,也不会检查您指定的文件是否相同名称为当前文件.它只是查找名为的文件,开始搜索路径中的目录位于当前目录之后文件已找到. 使用 `#include_next' 会导致极大的混乱.我们推荐只有在没有其他选择时才使用它.特别是,它不应在属于特定程序的标头中使用;它应该只
..
#include和#import在C++中有什么区别? 解决方案 #import 是微软特有的东西,显然只适用于 COM 或 .NET 的东西. #include 是标准 C/C++ 预处理器语句,用于在源代码文件中包含头文件(或偶尔包含其他源代码).
..
我应该使用 #include 调用哪个头文件才能使用 PATH_MAX 作为 int 来调整字符串大小? 我希望能够声明: char *current_path[PATH_MAX]; 但是当我这样做时,我的编译器(Linux 上的 Clang/LLVM)会发出以下错误: recursive_find6.c:29:20:错误:使用未声明的标识符“PATH_MAX"字符 *current_
..
..
我的一个(嵌入式)目标只有一个 C89 编译器. 我正在从事一个针对多个设备的(爱好)项目. 有没有办法将 C11 代码库编译(转译?)成 C89? (否则我将不得不像 1989 年那样编写代码.) 解决方案 不,我不认为所有 C11 都有可能.C11 具有 C89 或 C99 中根本不存在的特性:_Generic、_Atomic、_Thread、_Alignof,定义明
..
..
..
..
..
我有以下代码,但是在使用带有各种优化标志的 GCC 4.4 编译它时,我在运行时得到了一些意想不到的结果. #include 主函数(){常量无符号 int cnt = 10;双 lst[cnt] = { 0.0 };常量双 v[4] = { 131.313, 737.373, 979.797, 731.137 };for(unsigned int i = 0; i
..
我不明白.我通常将第三方软件安装到 /usr/local 中,因此库安装到/usr/local/lib 并且链接到这些库时从来没有问题.但是现在它突然不再起作用了: $ gcc -lkaytils -o test test.c/usr/bin/ld.gold.real:错误:找不到-lkaytils/usr/bin/ld.gold.real:/tmp/ccXwCkYk.o: 在函数 main:t
..