linux 编译选项,ubuntu怎么编译
今天给各位分享linux 编译选项的知识,其中也会对ubuntu怎么编译进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
linux 如何运行编译程序
gcc有多达100多个参数,现介绍常用的几个。如果对其他参数也有兴趣,可以参考:man gcc
预先处理选项
-E:只对文件进行预处理,输出结果到标准输出
-C:告诉预处理器不要丢弃注释.配合`-E‘选项使用.-P:告诉预处理器不要产生`#line'命令.配合`-E'选项使用.
-v:显示正在使用的gcc的版本
常用编译选项
-c:将源程序编译为目标代码但并不做链接的工作,不生成最终的可执行文件,只生成一个与源文件文件名相同的以.o为后缀的目标文件。
-S:将远程序编译为一个后缀为.s的汇编语言文件,不会生成可执行文件
-x:强制编译器用指定的语言编译器来编译某个源文件
gcc-x c++ test.c表示强制用C++编译器来编译c程序
-static:强制连接静态库,运行时不依赖动态库
-share:编译时尽量使用动态库
-o:指定生成的可执行文件名,如果没有该选项,如果生成可执行文件,默认文件名为a.out
编译路径选项
-i:指定特定头文件
gcc–c-i/home/zry/test.h test.c
-I<DIR>:依赖选项,指定头文件路径
Linux下大多数函数将头文件放在/usr/include目录下,如果需要指定其他路径,可以使用该选项
gcc–I/home/zry/include–c test.c添加/home/zry/include到查找路径
-L<DIR>:指定库文件搜素路径,用法同上
-l<库名>:指定特定库文件
gcc–lapp–c test.c
Linux的库文件有一个约定,即以lib开头,-lapp表示连接libapp.so库文件
目标生成选项
-shared:生成动态库
gcc–shared libtest.so-i/home/zry/test.h test.c
生成静态库需要ar命令,后面讲解
-fPIC:生成可用于动态库的位置独立代码。所有的内部寻址均通过全局偏移表完成。
-ansi:支持符合ANSI标准的C程序.
该选项就会关闭GNU C中某些不兼容ANSI C的特性,例如asm, inline和 typeof关键字以及诸如unix和vax这些表明当前系统类型的预定义宏。
__asm__, __extension__, __inline__和__typeof__仍然有效
使用`-ansi'选项的时候,预处理器会预定义一个__STRICT_ANSI__宏.有些头文件关注此宏,以避免声明某些函数,或者避免定义某些宏,这些函数和宏不被ANSI标准调用;这样就不会干扰在其他地方使用这些名字的程序了.
fno-asm:此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。
-fno-strict-prototype:只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.而gcc无论是否使用这个参数,都将对没有带参数的函数,认为没有显式说明的类型
-fthis-is-varialble:就是向传统c++看齐,可以使用this当一般变量使用
-fcond-mismatch:允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
-funsigned-char:
-fno-signed-char:
-fsigned-char:
-fno-unsigned-char:
这四个参数是对char类型进行设置,将char类型设置unsigned char(前两个参数)或者 signed char(后两个参数)
-imacros file:将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
-Dmacro:相当于C语言中的#define macro
-Dmacro=defn:相当于C语言中的#define macro=defn
-Umacro:相当于C语言中的#undef macro
-undef:取消对任何非标准宏的定义
-M:生成文件关联的信息。包含目标文件所依赖的所有源代码
-MM:和M一样,但是它将忽略由#include<file>造成的依赖关系。
-MD:-M相同,但是输出将导入到.d的文件里面
-MMD:和-MM相同,但是输出将导入到.d的文件里面
警告选项
fsyntax-only:检查程序中的语法错误,但是不产生输出信息.
-w:禁止所有警告信息.
-Wno-import:禁止所有关于#import的警告信息.
-pedantic:打开完全遵从ANSI C标准所需的全部警告诊断;拒绝接受采用了被禁止的语法扩展的程序.
-Werror:将所有警告转换为错误
Werror选项要求GCC将所有警告当作错误进行处理。
-Wall:显示所有警告信息
在Linux系统中,如何运行一个C语言程序
1、打开kali linux的终端。创建一个文件并命名为test.c。在终端输入:touch test.c。
2、可以看到已经生成了一个后缀为test.c的源文件。然后用vim工具打开这个文件并编写代码。在终端中输入:vim test.c或者gvim test.c打开这个文件并编写代码。
3、编写完了这个代码。现在开始编译源文件。在终端中输入:gcc test.cgcc是linux自带的c语言编译器。如果是windows则要用ide工具来编译。linux系统一般写C语言用gcc+vim+gdb三个自带的工具就可以了。
4、打完gcc test.c编译完C源文件。然后就可以看见a.out的文件。一般linux系统就默认为a.out为编译完的文件。现在运行a.out文件。在a.out文件的目录下打开终端并输入./a.out就是运行文件了。
5、如果想要编译完的文件名不要用a.out文件。就可以在编译时打入.gcc test.c-o test.out然后就可以看见有一个test.out.文件了。-o后面跟着的编译生成的文件名。
6、再运行test.out在终端中输入./test.out结果如图。这样在linux系统下编译并运行C语言就完成了。
linux编译选项lddlinux编译选项
linux下怎样编译opencascade?
以下是在Linux上编译OpenCASCADE的步骤:
1、下载OpenCASCADE的源代码包,并解压到一个目录中。
2、打开终端,进入源代码目录。
3、创建一个新的目录用于构建OpenCASCADE。
4、在终端中执行以下命令,进入新建的构建目录:
cdbuild
5、在构建目录中执行以下命令,配置OpenCASCADE的编译选项:
cmake../path/to/opencascade/sources
其中,../path/to/opencascade/sources是指OpenCASCADE源代码所在的路径。
6、执行以下命令,编译OpenCASCADE:
make-j4
其中,-j4参数表示使用4个线程并行编译,可以根据实际情况进行调整。
7、执行以下命令,安装编译好的OpenCASCADE库文件:
sudomakeinstall
8、等待编译和安装完成后,即可在系统中使用OpenCASCADE库文件。
请注意,OpenCASCADE的编译过程可能会因操作系统版本、编译器版本、依赖库版本等因素而有所差异。因此,在编译前,请先查看OpenCASCADE的文档或官方网站,了解相关的系统和软件要求。
ubuntu怎么编译出来exe文件?
绝大多数linux上需要源码安装的程序可以通过./configure;make;makeinstall这三步来编译生成exe二进制可执行文件,下面详细说明
1.利用ubuntu包管理器下载编译环境各种依赖,通过下面语句安装build-essential和checkinstall
命令:sudoapt-getinstallbuild-essentialcheckinstall
2.解压某需要生成exe主程序的源码包,例sample.tar.gz,用下列语句实现:tar-xzvfsample.tar.gz
3.进入解压缩后的文件的主目录下,进入下面次级目录cd/pathhere并执行这个最重要的脚本./configure
4.执行编译程序make
5.最后执行编译安装sudomakeinstall,完成
linux怎么编译c的源程序的?gcc,编译命令是什么?
编译方法:格式gcc常用的选项最简单的是:gcchello.c默认的情况下将生成a.out的可执行性文件,只需要在终端上输入./a.out就可以看到执行的结果,如果你想指定生成目标文件的名字那么你可以加上-o选项,命令如下:gcc-ohellohello.
c命令:gcc-chellohello.c扩展资料:gcc命令的基本用法gcc其中,filenames为文件名;options为编译选项。
当不使用任何编译选项编译hello.c时,gcc将会自动编译产生一个a.out的可执行文件:#lshello.c#gcchello.c#lsa.outhello.c执行:#./a.outHello,World!使用-o编译选择,可以为编译后的文件指定一个名字:#lsa.outhello.c#gcchello.c-ohello#lsa.outhellohello.c执行:#./helloHello,World!注意:使用-o选项时,-o后面必须跟一个文件名,即:-ooutfile。为了便于描述后面的选项,删除hello和a.out可执行文件。
“linux”怎么编译c的源程序的?“gcc”编译命令是什么?
格式gcc介绍一些常用的选项:最简单的是:gcchello.c默认的情况下将生成a.out的可执行性文件,你只需要在终端上输入./a.out就可以看到执行的结果.如果你想指定生成目标文件的名字那么你可以加上-o选项,命令如下:gcc-ohellohello.c命令如下:gcc-chellohello.c
Windows下怎样编译出可在Linux上执行的程序?
1、可以安装cygwin,Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnussolutions公司开发的自由软件,搜索官网下载即可,下载完成,安装的时候注意记得安装相关语言的编译器、解释器,在cygwin中生成Linux可执行文件。
2、可以安装vmware、virtualpc等虚拟机,在虚拟机里安装linux系统,然后在linux系统中编译相应的源码,生成linux上的可执行文件。