Linux C/C++的编译

以前在Linux上面编译过C,但是没有编译过C++,今天用到了,就稍微学习了一下。



简单的介绍

linux 中最重要的编译工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC能够编译三种语言:C、C++和ObjectC(OC我没有尝试过)(C语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。



C的编译:

有关GCC的安装,可以参考我以前的随笔

如果你有两个以上C源文件,也可以方便地利用GCC编译、连接并生成可执行文件。

$gcc -o exename main.c file.c file2.c

exename表示你准备生成的可执行文件的名字,后面都是你的C程序源文件;

有关C编译详细参见以前写过的一篇我的第一个LinuxC程序



C++的编译

GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。   在 linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 .cpp。但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。

$g++ -o exename main.cpp

exename依然是可执行程序的名字,后面是程序的源文件。

参考文献:博客园博文



Linux C/C++的编译

时间: 2024-10-16 01:49:38

Linux C/C++的编译的相关文章

linux与Windows使用编译区别及makefile文件编写

一.Windows与:Linux嵌入式开发区别 Windows下编辑.编译.执行 编辑: sourceInsight:ADS: 编译:指定链接地址,指定链接顺序,编译 执行:烧写到单板再启动 Linux下编辑.编译.执行 编辑可在Windows下编写上传 编译:链接脚本(lds),用命令行链接时,文件顺序(makefile)gcc -o :由makefile执行可以得到结果 执行make 二.makefile介绍 (规则,依赖) 目标:依赖1 依赖2     hello :hello.c a.c

Linux C程序的编译

Linux C程序的编译过程 学习一门语言程序,本人觉得还是得学习它的编译规则,现在,通过小例子小结下自己对C编译的认识. /*test.c     了解C程序的编译*/ #include <stdio.h>int main(void){ printf("Hello World!\n"); return 0;} 对于test.c,我们常用一步编译到位的命令是: gcc -o test test.c  或者  gcc test.c -o test 实际上,上面的这个编译命令包

关于在linux下用gcc编译头文件的问题。

关于在linux下用gcc编译头文件的问题. 2011-01-21 18:5215052135380 | 分类:其他编程语言 | 浏览8139次 有node.h prepare.h list.h file.h 这四个头文件, prepare.h中用到了node.h, list.h中用到了preapre.h , file.h中用到了list.h ,怎么用gcc对这四个头文件进行编译. 分享到: 2011-01-22 02:23 天天爱答题,抽奖送惊喜~ 提问者采纳 我用一个例子来告诉你怎么样在 C

linux下面用Mingw编译libx264

linux下面用Mingw编译libx264 首先要先安装好mingw 我用的是Ubuntu 编译ffmpeg的时候 ,官方上面有一个自动化脚本能够把mingw安装好 这里就不说了 新版本的libx264没有VS下面的工程了,需要用到mingw写了一个脚本如下: #/bin/bash export PATH=$PATH:/home/lei/ffmpeg/mingw-w64-i686/bin ./configure --cross-prefix=i686-w64-mingw32- --sysroo

Linux下源码编译安装rpy2

R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这里主要介绍一下在没有网络的情况下,源码安装rpy2的一些方法,以作备忘. 1.python安装 $ wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz $ tar zvxf Python-2.7.6.tgz $ cd Pytho

Linux下指定版本编译安装LAMP

说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2.17 具体操作: 准备篇 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customiz

WebRtc 研究笔记1 Arch linux 环境中下载, 编译

开篇第一句,我觉得是最最重要的: 注意: WebRtc 源码的编译基础工作: 翻墙!  一定要在命令行, 让Git Svn 等命令访问到google的服务器,否则会出现各种异常 我的环境是 ArchLinux X64, 翻墙的方法: 1.各种VPN 2.修改hosts 3.各种代理服务器 ... 使用到的软件包 jdk 1.6 ( jdk1.7 无法编译), svn, git 环境变量: // /etc/profile # java export JAVA_HOME=/opt/jdk expor

Linux下的内核编译与模块操作

Linux下的内核编译与模块操作 一:实验环境 1):虚拟机 2):linux系统 3):linux系统的硬盘的空余空间要大于7G 4):虚拟机的内存要大于2.5G以上 二:实验目标 1):源码编译Linux内核 2):使用Linux内核模块 3):实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统并实现读写功能 三:实验脚本 第一块 --源码编译Linux内核 linux系统与windows系统是两种截然不同的系统,windows系统中的软件都是需要付费的,而linux系统中的

Linux下的GCC编译指令

1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective C 语言.Pascal 语言.COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等.而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了.另一方面,说到 GCC 对于操作系统平

【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一直很给力的,但这次让我伤心欲绝啊. 关于Linux(ubuntu14.04)上编译Android源码的环境搭建详细过程都是在sublime text中编辑好的,无奈,这次的数据丢失让我不得不重新来回想手打一次了.可能很多细节问题,这次重新编辑文章时不会记得那么清晰了,还请有问题的朋友在下面留言给我就