小工具知识网

当前位置: 首页 > 行业知识 > Linux 开发工具与众所周知

行业知识

Linux 开发工具与众所周知

2026-10-27 15:21:00 来源:互联网转载
各位大佬好 ,这里是阿川的博客 , 祝您变得更强

个人主页:在线OJ的阿川

大佬的支持和鼓励,将是我成长路上最大的动力

阿川水平有限,如有错误,欢迎大佬指正

上篇博文

Linux权限

Linux生态与工具

目录

  • 超级权限
  • 编译器
  • 引入背景
    • 概括
    • 发行版本
    • 自动化构建工具
    • 拓展学习

      超级权限

      在Linux当中有些权限 需要root账户,但普通用户可以短暂的使用root账户所拥有的权限,需要使用sudo指令

      • 使用sudo指令,需要将该用户添加至信任白名单中
        • 信任白名单

          编译器

          编译器——gcc/g++使用

          gcc主要编译点c文件

          g++ 可以编译点c文件,也可以编译点cpp文件,但 建议cpp

          • 经过编译器处理之后,会生成可执行程序

            引入背景

            1.预处理

            • 去注释
            • 头文件展开
            • 宏替换

              注意:预处理阶段能进行头文件展开

              则说明 头文件中的代码已经拷贝在了操作系统中

              其实无论Visual Studio Installer、Linux、Windows等等这些平台

              之所以能够运行编译型语言,是因为在安装该编译型语言时,就已经安装了相应的开发包,开发包中有所对应的头文件和库文件。

              头文件(.h)提供方法的声明,库文件 提供方法的实现,加自己写的代码就等于自己的软件.

              库其实就是把源文件(.c)经过一定的翻译,然后打包,只给你提供一个文件即可,不用给你提供太多的源文件,可以达到隐藏源文件的目的.

              • 库分为两种类型
                •  动态库
                  • 在执行代码的过程中,若遇见无法执行的,则跳转到库中执行,执行完之后,回到 自己的代码中向下继续执行,所有访问者都能调用该库,故动态库又称 共享库。
                    • 静态库:
                      • 执行代码前,先将 库中的文件拷贝到本地可执行程序中,不存在说执行代码中遇见无法执行的去跳转到库中去寻找。该库称为静态库。
                        • 静态库需要先安装:
                          • 动态库和静态库区别:
                            • 动态库因为是共享库,有效的节省资源,但动态库一旦缺失,导致各个程序都无法运行

                              静态库 不依赖库,程序可以独立运行,但体积大比较消耗资源

                            • 条件编译

                              • 根据不同的编译条件,裁剪代码
                                • 拓展

                                  2.编译

                                  • 生成可重定位目标二进制文件,简称目标文件

                                    3.汇编

                                    • 生成机器可识别代码
                                      • 生成可执行二进制程序

                                        可执行程序形成的时候,不是无序的二进制构成,而有自己的格式–ELF格式

                                        4.链接

                                        • 将可重定位目标二进制文件和标准库链接形成可执行程序
                                          • 点o文件和库如何连接
                                            1. 动态链接

                                              与动态库进行连接(默认)

                                            2. 静态链接

                                              将静态库的文件拷贝到本地,进行连接

                                            3. 实际中 静态和动态链接是混合的。
                                          • 查看链接方式

                                            概括

                                            发行版本

                                            可执行程序发行版本

                                            • debug
                                              • 可以被追踪调试
                                                • 其中添加了的debug信息
                                                  • release(默认)
                                                    • 不可被追踪调试

                                                      自动化构建工具

                                                      自动化构建和清理

                                                      • make 自动化的指令
                                                      • makefile or Makefile 当前目录下的文件
                                                        • 需要先创建一个makefile文件,在makefile文件中添加一些指令,从而用 make指令进行自动化构建和清理
                                                        • 之后就可以在控制台中输入make自动化指令了
                                                          • 修改Tab键的默认设置
                                                            • 代码
                                                                 set tabstop=4   set softtabstop=4   set shiftwidth=4   set expandtab

                                                              拓展学习

                                                              若对自己要求高点,想要进行拓展学习,这里推荐两本书

                                                              程序员的自我修养

                                                              • 关于编译的深入讲解

                                                                深入理解计算机系统

                                                                • 不太建议新手小白去看

                                                                  好的,到此为止啦,祝您变得更强

                                                                  道阻且长 行则将至

                                                                  个人主页:在线OJ的阿川大佬的支持和鼓励,将是我成长路上最大的动力

上一篇:电脑远程qq怎么连接服务器?

下一篇:我在做平面,现在的工作工资挺高,不过比较偏的行业,想跳出来去广告公司。