Tag: 选项

“选项已启用”和“已通过选项”usind gcc -Q -v之间有什么区别

我正在寻找编译期间使用的默认编译器标志。 因此我使用命令gcc -Q -v 感兴趣的输出如下所示: GNU C(Ubuntu 4.8.4-2ubuntu1~14.04.3)版本4.8.4(x86_64-linux-gnu)由GNU C版本4.8.4编译,GMP版本5.1.3,MPFR版本3.1.2-p3,MPC版本1.0.1 GGC启发式: – param ggc-min-expand = 100 –param ggc-min-heapsize = 131072 传递的选项:-v -imultiarch x86_64-linux-gnu example.c -mtune = generic -march = x86-64 -fstack-protector -Wformat -Wformat-security 启用选项:-faggressive-loop-optimizations -fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg -fcommon -fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining -feiminate- unused-debug-types -ffunction-cse -fgcse-lm -fgnu-runtime -fgnu-unique -fident -finline-atomics -fira-hoist-pressure -fira-share-save-slots -fira-share-spill-slots – fivopts -fkeep-static-consts -fleading-underscore […]

Getopt可选参数?

我有一个程序,你输入一个选项-d然后是否在选项后提供一个非可选参数,做一些事情。 inheritance我的代码: #include #include #include #define OPT_LIST “d::” int main (int argc, char *argv[]) { int c; char string[] = “blah”; while ((c = getopt (argc, argv, OPT_LIST)) != -1) { switch (c) { case ‘d’: printf(“%s\n”, optarg); break; case ‘?’: fprintf(stderr, “invalid option\n”); exit(EXIT_FAILURE); } } } 因此,如果在选项后输入非可选参数,则会打印参数。 但是如果用户没有提供非可选参数,我希望它打印出char“string”(这就是为什么我把双冒号放在OPT_LIST中)。 但我不知道如何做到这一点,所以任何帮助将不胜感激。 下面是我运行程序时会发生什么: user:desktop shaun$ ./arg […]

更多GCC链接时间问题:对main的未定义引用

我正在为Cortex-A8处理器编写软件,我必须编写一些ARM汇编代码来访问特定的寄存器。 我正在使用gnu编译器和相关工具链,这些工具安装在带有Ubuntu的处理器板(Freescale i.MX515)上。 我使用WinSCP和PuTTY终端从我的主机PC(Windows)连接到它。 像往常一样,我开始使用一个带有main.c和functions.s的简单C项目。 我使用GCC 编译 main.c,使用as 汇编 functions.s并再次使用GCC 链接生成的目标文件,但在此过程中我得到了奇怪的错误。 一个重要发现 – 同时,我发现我的汇编代码可能有一些问题,因为当我使用命令as -o functions.o functions.s单独组装它时,尝试运行生成的函数。使用./functions.o命令,bash shell无法将此文件识别为可执行文件(在按Tab键function时。未选中/ PuTTY未突出显示该文件)。 任何人都可以建议这里发生什么? 在链接过程中,我是否需要向GCC发送任何特定选项 ? 我看到的错误是奇怪的,超出了我的理解,我不明白GCC所指的是什么。 我在这里粘贴main.c,functions.s,Makefile和错误列表的内容。 请帮忙!!! 根据人们的建议编辑makfile之后包含的最新错误 – ubuntu@ubuntu-desktop:~/Documents/Project/Others/helloworld$ make gcc -c -mcpu=cortex-a8 main.c as -mcpu=cortex-a8 -o functions.o functions.s gcc -o hello main.o functions.o functions.o: In function `_start’: (.text+0x0): multiple definition of `_start’ /usr/lib/gcc/arm-linux-gnueabi/4.3.3/../../../crt1.o:init.c:(.text+0x0): first defined […]

为C程序设置默认NetBeans选项(-std = c99,-Wall)

我安装了NetBeans 6.9并在Ubuntu Linux 11.10上正常运行。 我的目标是设置默认情况下使用的-Wall和-std=c99等编译器选项 。 目前,我必须右键单击我的项目 – >属性 – > C编译器 – >警告级别为“ 更多警告 ”,并将-std=c99添加到其他选项 。 在创建许多项目时,这显然是一种痛苦, 我确信有一种方法可以将所有这些都设置为默认项目 。 我发现这个post与我的问题密切相关。 但是,唯一的答案是安装Code :: Blocks和MSYS 1.0.11,这对我来说没什么意义。 我没有看到安装另一个IDE会如何帮助我,MSYS似乎没必要,因为我已经在使用Linux了。 我已经尝试了我能想象到的每一个合理的搜索词,我很惊讶我发现的信息很少。 似乎大多数使用NetBeans的人都应该在某些时候改变这种类型的东西。 我正在搜索的术语: ‘NetBeans -std = c99 default’ , ‘NetBeans设置默认编译选项’ , ‘如何使NetBeans默认使用c99’和‘Code :: Blocks设置到NetBeans’ 。 请有人指出我正确的方向,或告诉我我应该寻找什么。 我想其他人也有同样的问题,所以我希望这个post有用。

C / C ++的选项解析器?

可能重复: C ++有哪些参数解析器库? 我已经做了一些查找,并且有很多用于命令行选项解析的库,但很难区分它们。 有没有人有任何经验? 是否比其他任何人更难/更好/更快/更容易/更好? 或者我应该自己成长?