Linux编译器-gcc/g++(动静态链接)

简介: Linux编译器-gcc/g++(动静态链接)

一、Linux编译器-gcc/g++的使用


1.1 背景知识


我们为什么能在windows或者linux下进行C/C++或者其它形式的开发呢?前提条件是我们的系统一定要安装上C/C++开发相关的头文件和库文件。所以我们平时下载安装的C/C++开发环境不仅仅指的是VS/gcc/g++,更重要的是语言本身的头文件和库文件。当我们在下载安装VS2019等软件,选择开发包的时候,也在同步下载语言的头文件和库文件。


所以,编译型语言,在安装开发包时,必定是安装对应的头文件和库文件的。


1.2 预处理,编译,汇编,链接



预处理阶段:



编译阶段:



汇编阶段:



链接阶段:



1.3 动静态链接


链接的本质是链接到语言的标准库,语言的标准库本质就是一个文件,是有路径的。





动静态链接的优缺点:



二、补充sudo设置


在Linux下,普通用户的权限是会受到约束的,有些操作只能是root超级用户才能执行,但是有时候普通用户想要临时执行一条超级用户才有权限执行的命令,但是又不想切换成root的身份,这时候有没有什么好的解决方案呢?答案是有的。那就是临时权限提升命令sudo。



相关文章
|
3月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
174 0
|
Linux 索引
在Linux中,符号链接与硬链接有何区别?
在Linux中,符号链接与硬链接有何区别?
|
11月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
210 2
|
Linux C语言
成功解决 在Linux CentOS 7 中安装gcc
这篇文章介绍了如何在Linux CentOS 7系统中安装gcc (g++) 8工具集。由于CentOS 7默认的gcc版本是4.8,而这个版本与Qt 5.14、Qt 5.15或更高版本不兼容,可能会导致编译时出现系统头文件错误。文章中提到,即使在项目配置中添加了`CONFIG+=c++11`,如果仍然报错,那么很可能是gcc版本的问题。为了解决这个问题,文章提供了使用CentOS的Software Collections (scl)来安装更新版本的gcc的步骤。
成功解决 在Linux CentOS 7 中安装gcc
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测
|
15天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
76 16
|
7天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
648 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
508 21