gcc的常用编译命令

gcc的常用编译命令,第1张

gcc编译命令总结:

1.无选项

gcc test.c

默认生成可执行文件a.out

2.-o 生成的可执行文件名

gcc test.c -o test

3.多个文件一起编译

gcc test1.c test2.c -o test

4.-O选项

gcc -O1 test1.c -o test

作用:使用编译优化级别1编译程序,优化级别为1-3,级别越大优化效果越好,但编译时间越长

5 -g选项 :生成可调试信息

6.链接库的命令

gcc test.c -lm -o test

-lm 表示链接系统的数学库 libm.a

把源文改为utf-8编码就可以了,g++默认的编译编码就是utf-8的,也可以使用-fexec-charset=charset,此选项指定窄字符或窄字符串的字面值常量的内部编码方式,默认为UTF-8。例如指定此选项为GBK,则窄字符或窄字符串常量将会以GBK编码方式存储而不是默认的UTF-8编码方式。

例如:

g++ -fexec-charset=UTF-8 main.cpp -o main.exe && main.exe #include <iostream>

using namespace std

int main(int argc, char const *argv[])

{

    cout << "你好。" << endl

    return 0

}

CreateProcess是WIn内核的函数。

你使用的是MinGW G++编译器:

如果你在程序中隐式使用了这个函数,请确保链接器引用到了MinGW组件W32API的库文件kernel32.a。

如果你在程序中显示使用了这个函数,请确保包含里MinGW组件W32API的头文件<windows.h>,以及链接器引用到了MinGW组件W32API的库文件kernel32.a。

如果你使用的不是MinGW的G++编译器:

你可以尝试引用MinGW的W32API库或微软的Platform SDK库,参考以上两条(kernel32.a->kernel32.lib)。

以上或许答非所问。现在回答“仅仅用G++.EXE来编译”的问题:对MinGW G++,如果你只有g++.exe一个文件,你大概可以成功编译不依赖任何外部库的程序,你无法链接因为g++不是链接器(做链接器时引用ld)且大部分情况下都会有外部库的依赖。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11139692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存