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依然是可执行程序的名字,后面是程序的源文件。
参考文献:博客园博文
转载于:https://www.cnblogs.com/zi-xing/p/4523804.html
Linux C/C++的编译相关推荐
- Linux 2.6内核编译与配置安装升级
Linux系统更新了很多版本更新,我本人认为Linux 2.6内核在Linux系统系列里很好使的文件系统,在此向大家推荐.如今技术不断更新,各种使用文件都已经淘汰.我认为还是有很不错的如Linux 2 ...
- PHP编译为静态库,Linux下将Tinyxml编译为静态库
转载请注明来源:Linux下将Tinyxml编译为静态库 一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编 ...
- Linux中gcc的编译、静态库和动态库的制作
欢迎大家关注笔者,你的关注是我持续更博的最大动力 Linux中gcc的编译.静态库.动态库 文章目录: 1 gcc的编译过程 1.1 gcc的编译过程 1.2 gcc的常用参数 2 gcc 静态库的制 ...
- Linux系统下GCC编译错误:“undefined reference to ‘sqrt‘”
Linux系统下GCC编译错误:"undefined reference to 'sqrt'",解决方法:-lm 数学函数sqrt()位于libm.so库文件中(这些库文件通常位于 ...
- Linux内核裁剪及编译
Linux内核裁剪及编译可加载模块 一 Linux基础知识 linux内核组要由五个子系统组成: 进程调度 内存管理 文件系统 网络接口 进程间通信 Linux源码目录 arch 目录中包含于体 ...
- 简单实例讲解linux的module模块编译步骤
简单实例讲解linux的module模块编译步骤 (2014-10-24 10:19:17) 标签: module linux 分类:Linux/Unix 本文将直接了当的带你进入linux的模块编译 ...
- linux 多源代码文件编译
linux 多源代码文件编译 2013-04-10 14:36:28 分类: LINUX 前面一节介绍了Linux下头文件的一些基础知识,有内核头文件和用户空间头文件,但之后的讲解,都是基于用户空间的 ...
- vc6可编译的 linux 源码,Linux 下源码编译FFMEG
1. 安装依赖关系 $ sudo apt-get update $ sudo apt-get -y install autoconf automake build-essential libass-d ...
- Linux ffmpeg的安装编译过程
Linux ffmpeg的安装编译过程 1.下载ffmpeg. 在网上搜索一下,或者到官方网站下载 2.解压 tar命令解压 3.配置 ./configure --enable-shar ...
- automake linux,Linux下automake软件编译与发布快速入门
Linux下automake软件编译与发布快速入门 2008-04-22 eNet&Ciweek 进入编辑界面,输入内容如下: AUTOMAKE_OPTIONS=foreign bin_PRO ...
最新文章
- 七问唐骏:真的性格好就能成功?
- Android NDK开发method GetStringUTFChars’could not be resolved
- pytorch离线安装(探索尝试版本)
- camera---(4)双摄像头分类
- ssis 导入excel_使用SSIS包将MS Excel数据导入数据库
- 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐
- 远程调用中间件(RPC
- python移动文件(非文件夹)
- 关于戴尔等AC9560 160MHZ 网卡驱动出现感叹号,无法正常使用wifi解决办法之一
- rplidar 三角测距激光雷达原理
- 138企业邮箱pop/imap和smtp服务器地址
- html5:初学h标签的使用 p标签 br标签 hr标签
- Java容器(List、Set、Map)知识点快速复习手册
- 一片外文的计算机网络方面的文献,计算机网络专科外文文献 计算机网络专科核心期刊参考文献有哪些...
- 电视hdr测试软件,短路三分钟 | 你家电视、显示器真的支持HDR么?
- 如何将.m4a转.wav文件
- HTTP和RTSP简介
- Oracle MySQL Server 安全漏洞
- Server2008如何卸载MySQL_Sql Server 2008完全卸载方法(其他版本类似)
- 智能着装:技术将大肆改造时尚业
热门文章
- ubuntu18.04+RTX 3090安装docker并配置pytorch环境
- 深度学习之Ubuntu下安装caffe和TensorFlow的cpu版本
- caffe中的layers
- 微软开源可解释机器学习框架 interpret 学习实践
- python实现不使用额外的空间判断输入数字是否是回文数
- c语言水库抽样算法代码,LeetCode---蓄水池抽样算法
- DevOps使用教程 华为云(15)git如何将本地项目初始化为远程仓库
- 日期范围选择类日历(增强版)
- mysql实现斐波那契,C#实现斐波那契数列的几种方法整理
- JavaSE基础——多态、抽象类、接口