以前在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依然是可执行程序的名字,后面是程序的源文件。

参考文献:博客园博文


转载于:https://www.cnblogs.com/zi-xing/p/4523804.html

Linux C/C++的编译相关推荐

  1. Linux 2.6内核编译与配置安装升级

    Linux系统更新了很多版本更新,我本人认为Linux 2.6内核在Linux系统系列里很好使的文件系统,在此向大家推荐.如今技术不断更新,各种使用文件都已经淘汰.我认为还是有很不错的如Linux 2 ...

  2. PHP编译为静态库,Linux下将Tinyxml编译为静态库

    转载请注明来源:Linux下将Tinyxml编译为静态库 一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编 ...

  3. Linux中gcc的编译、静态库和动态库的制作

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 Linux中gcc的编译.静态库.动态库 文章目录: 1 gcc的编译过程 1.1 gcc的编译过程 1.2 gcc的常用参数 2 gcc 静态库的制 ...

  4. Linux系统下GCC编译错误:“undefined reference to ‘sqrt‘”

    Linux系统下GCC编译错误:"undefined reference to 'sqrt'",解决方法:-lm 数学函数sqrt()位于libm.so库文件中(这些库文件通常位于 ...

  5. Linux内核裁剪及编译

    Linux内核裁剪及编译可加载模块 一 Linux基础知识 linux内核组要由五个子系统组成: 进程调度 内存管理 文件系统 网络接口 进程间通信 Linux源码目录 arch    目录中包含于体 ...

  6. 简单实例讲解linux的module模块编译步骤

    简单实例讲解linux的module模块编译步骤 (2014-10-24 10:19:17) 标签: module linux 分类:Linux/Unix 本文将直接了当的带你进入linux的模块编译 ...

  7. linux 多源代码文件编译

    linux 多源代码文件编译 2013-04-10 14:36:28 分类: LINUX 前面一节介绍了Linux下头文件的一些基础知识,有内核头文件和用户空间头文件,但之后的讲解,都是基于用户空间的 ...

  8. vc6可编译的 linux 源码,Linux 下源码编译FFMEG

    1. 安装依赖关系 $ sudo apt-get update $ sudo apt-get -y install autoconf automake build-essential libass-d ...

  9. Linux ffmpeg的安装编译过程

    Linux ffmpeg的安装编译过程 1.下载ffmpeg.     在网上搜索一下,或者到官方网站下载 2.解压    tar命令解压 3.配置 ./configure --enable-shar ...

  10. automake linux,Linux下automake软件编译与发布快速入门

    Linux下automake软件编译与发布快速入门 2008-04-22 eNet&Ciweek 进入编辑界面,输入内容如下: AUTOMAKE_OPTIONS=foreign bin_PRO ...

最新文章

  1. 七问唐骏:真的性格好就能成功?
  2. Android NDK开发method GetStringUTFChars’could not be resolved
  3. pytorch离线安装(探索尝试版本)
  4. camera---(4)双摄像头分类
  5. ssis 导入excel_使用SSIS包将MS Excel数据导入数据库
  6. 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
  7. 远程调用中间件(RPC
  8. python移动文件(非文件夹)
  9. 关于戴尔等AC9560 160MHZ 网卡驱动出现感叹号,无法正常使用wifi解决办法之一
  10. rplidar 三角测距激光雷达原理
  11. 138企业邮箱pop/imap和smtp服务器地址
  12. html5:初学h标签的使用 p标签 br标签 hr标签
  13. Java容器(List、Set、Map)知识点快速复习手册
  14. 一片外文的计算机网络方面的文献,计算机网络专科外文文献 计算机网络专科核心期刊参考文献有哪些...
  15. 电视hdr测试软件,短路三分钟 | 你家电视、显示器真的支持HDR么?
  16. 如何将.m4a转.wav文件
  17. HTTP和RTSP简介
  18. Oracle MySQL Server 安全漏洞
  19. Server2008如何卸载MySQL_Sql Server 2008完全卸载方法(其他版本类似)
  20. 智能着装:技术将大肆改造时尚业

热门文章

  1. ubuntu18.04+RTX 3090安装docker并配置pytorch环境
  2. 深度学习之Ubuntu下安装caffe和TensorFlow的cpu版本
  3. caffe中的layers
  4. 微软开源可解释机器学习框架 interpret 学习实践
  5. python实现不使用额外的空间判断输入数字是否是回文数
  6. c语言水库抽样算法代码,LeetCode---蓄水池抽样算法
  7. DevOps使用教程 华为云(15)git如何将本地项目初始化为远程仓库
  8. 日期范围选择类日历(增强版)
  9. mysql实现斐波那契,C#实现斐波那契数列的几种方法整理
  10. JavaSE基础——多态、抽象类、接口