gcc/g++编译 cpp/c文件 生成可执行文件

g++编辑cpp生成exe

编译重命名等:

g++ –c Hello.cc  编译文件,生成目标文件 Hello.o

g++ Hello.o –o abc  连接 并重命名为可执行文件 abc

g++ Hello.cc    编译连接一起,生成a.out

g++ Hello.cc –o hello 生成a.out并命名为hello

多文件编译

g++ hellospeak.cpp speak.cpp -o hellospeak

g++命令:

下面以helloAtom.cpp为例:

[cpp] view
plain
 copy

  1. #include <iostream>  
  2. using namespace std;  
  3. int main()  
  4. {  
  5.   cout<<"hello atom"<<endl;  
  6. }  

命令: g++ helloAtom.cpp
功能:生成默认为helloAtom.exe的文件,这个过程包含了编译和链接。
再说下-o命令,-o命令表示输出的意思,gcc/g++命令是非常灵活的,你不指定输出的文件名的时候默认生成的是.exe文件。
你要输出helloAtom.exe的话可以用:g++
-o helloAtom.exe helloAtom.cpp。-o命令是输出的意思,这样就输出了helloAtom.exe。

运行cmd 后直接进入EXE 文件目录,直接输入EXE 的文件名即可

问题

 

gcc编译出现undefined reference to 'pthread_create'的解决方法

 在linux上执行gcc thread.c,  结果出现编译错误undefined reference to 'pthread_create'。由于pthread库不是标准linux库, 所以出错。 改为gcc thread.c -lpthread 即可。

时间: 2024-09-26 17:37:05

gcc/g++编译 cpp/c文件 生成可执行文件的相关文章

关于gcc和g++编译c文件时的一点疑惑

问题描述 关于gcc和g++编译c文件时的一点疑惑 普遍观点,gcc把c文件当做c处理,把c++当做c++处理:而g++把二者都当做c++处理.这里的处理是指语法分析那一步. 但g++在编译过程中调用了gcc.我疑惑了,语法分析是编译的第二步吧,既然g++调用了gcc,那么它是怎么让gcc把c文件当做c++处理的. 还有一点,就是对于c文件编译出来的符号,使用gcc和g++到底一不一样.比如在c文件里定义int add(int a,int b):用gcc和g++最后编译出来的符号到底是什么?是c

linux gcc 编译时头文件和库文件搜索路径

一.头文件    gcc 在编译时寻找所需要的头文件 :    ※搜寻会从-I开始    ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH    ※再找内定目录   /usr/include   /usr/local/include   /usr/lib/gcc-lib/i386-linux/2.95.2/include   /usr/lib/gcc-lib/i386-linux/2.95.2/../../../..

使用Android源码编译c模块生成可执行文件

问题描述 使用Android源码编译c模块生成可执行文件 5C 使用的是海思的SDK,这个应该跟Android的编译环境差不多吧.各位大侠 我的问题是这样的写了个helloworld的测试程序,是可以编译成可执行程序然后在机器上运行打印出来的.但是呢,在编译模块的时候遇到问题了.按照之前的方式,在development下创建一个文件夹moudle,然后把所有需要的.c .h .so文件都搬了过来,写了个Android.mk,但是呢 在里面添加一句LOCAL_SHARED_LIBRARIES +=

makefile把一个 .cpp文件和它所依赖的几个 .a(静态库文件 ) 生成一个动态库文件.so

问题描述 makefile把一个 .cpp文件和它所依赖的几个 .a(静态库文件 ) 生成一个动态库文件.so 假设编译交叉编译工具路径为dir1(arm-linux-androideabi-gcc-4.9 ),存放生成的.so文件的路径为dir2,test.cpp,依赖1.a,2.a,3.a这三个静态文件库,Makefile文件应该怎么写 解决方案 arm-linux-androideabi-gcc-4.9 -fPIC -shared -o dir2/xxx.so test.cpp 1.a 2

makefile问题-为何没有编译。c文件会自动生成。o文件,这是啥原理,求解答

问题描述 为何没有编译.c文件会自动生成.o文件,这是啥原理,求解答 解决方案 生成了.o文件那就是编译了,要想生成可执行文件用-o选项. 解决方案二: make肯之后会会生成o文件 解决方案三: o就是目标文件,你make肯定除触发了编译器编译.才会生成o文件

asp.net反编译的cs文件快速生成aspx.cs

问题描述 asp.net反编译的cs文件快速生成aspx.cs 各位大神,木有啥工具能直接把反编译出的代码还原成源代码那种包含有aspx. designer.cs 还有aspx.cs文件那样的工具么? 反编译的dll只有cs文件 改起来工程量好大 解决方案 designer.cs aspx.cs文件 不可能区分开,因为编译的时候丢失了源代码属于哪个文件的信息. 但是aspx文件和.cs文件可以对应起来,在aspx里面找开头的codebehind,里面指向类. 解决方案二: asp.net 中 .

GCC单独编译host/examples/ tx_waveforms.cpp

1.编译 需要链接uhd库和boost_program_options库以及boost_thread库: g++ tx_waveforms.cpp -o a -luhd -lboost_program_options -lboost_thread 运行:  ./txrx --tx-rate 1e6 --rx-rate 1e6 --tx-freq 1e9 --rx-freq 1e9 --ampl 1 --wave-type CONST --type float 2.指定接收天线 锁定TX/RX接收

cpu-C程序经过编译后,最终生成的文件里面是不是 机器码?

问题描述 C程序经过编译后,最终生成的文件里面是不是 机器码? 如果是某一种机器码,那应该只能用在某一种类型的的cpu上,但是现实是不管是AMD还是intel的都可以运行.而AMD和Intel的cpu指令集是不一样的.那为什么还能运行同一次编译出来的软件? 解决方案 amd和intel拥有一个共同的指令集,但是在此之上,intel和 amd,以及intel自己各代处理器,都有自己的不同的指令. 比如说Intel Pentium 4有SSE2,但是没有SSE 4,AMD Athlon 64有3d

sqlite3-使用Eclipse cpp版本如何编译SQLite3,并生成库

问题描述 使用Eclipse cpp版本如何编译SQLite3,并生成库 电脑装有cygwin和Eclipse的cpp版本 如何使用Eclipse cpp版本编译SQLite3,并生成库