问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux 如何运行编译程序

发布网友 发布时间:2022-04-21 21:27

我来回答

3个回答

热心网友 时间:2023-10-10 01:34

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: 显示所有警告信息

热心网友 时间:2023-10-10 01:35

在终端里运行。在linux中有一个终端,类似于windows下的cmd

热心网友 时间:2023-10-10 01:35

lz有这个疑问,说明lz用的是带图形用户界面的linux。
如果是ubuntu,那么,在应用程序(applications)-->附件(accessories)-->终端(terminal)中输入命令。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问我的网络一天了找个部门到现在没有解决请问我上哪投诉? 计算机具备哪几种功能? 计算机有哪些功能是什么 歌词中有丑姑娘的歌曲 驾照不年审会怎样 没开过车驾照年审会通过吗 本来白色的背心放入洗衣机清洗后就变成有黑色斑点 其他一起洗的衣物... ...衣服颜色保持鲜艳(主要是白色衣服洗几次感觉就有点颜色不亮丽了... 为什么登陆lol会叫你解绑 小姨子告诉我说,炒菜时记住这4个小技巧,就是比别人做的好吃 能治好强直性脊柱炎吗或控制病情发展【强直性脊柱炎】 联想G480怎么关小键盘,Fn+F8也没用,win8的系统。 linux 文件系统 内核编译 联想电脑g480怎么关闭小键盘 Linux下gcc编译介绍 我的联想笔记本G480 怎么关掉小键盘啊 linux中编译命令怎么写的 联想g480笔记本怎么关闭小键盘-win10的? 如何在linux编译和使用ACE 联想G480笔记本怎么关闭小键盘? linux下怎样编译程序 linux用make语句编译 Linux怎么编译c++文件用什么指令 欧姆龙plc编程软件在哪里可以免费下载啊?百度里都... 各位高手,在下请教如何上传和下载欧姆龙PLC程序? 请问工控前辈:那里可以下载最新的中文版欧姆龙pLC... 求欧姆龙PLC编程软件下载地址 跪求欧姆龙PLC编程软件CX-Programmer5.0(中文版) 怎么把欧姆龙PLC里的程序下载到电脑里? 欧姆龙plc下载程序内存全部要下载吗 欧姆龙PLC最新的编程软件是什么版本? 联想G480怎么关闭小键盘啊 联想笔记本电脑如何关闭小键盘 联想笔记本电脑怎么取消开机小键盘 联想g480小键盘怎么关 联想g480怎么切换小键盘 联想笔记本G470怎么关闭小键盘? 联想笔记本F功能键怎么关闭? 联想笔记本G480小键盘怎么开 怎么关掉小键盘,我的电脑是联想g480的 联想G480装的win8,怎么关掉小键盘啊 联想g480怎么关小键盘. ipad历代机型一览表2021 iPadPro所有版本都有高刷? 怎样用对方加微信 怎样用对方加微信 淘宝上与卖家联系写着未读什么意思? 海尔电视语音唤醒词是什么 海尔电视语音唤醒口令怎么喊电视暂停播放 海尔电视的语音助手名字忘了怎么办 海尔电视用什么软件看直播能用语音