
Linux环境编程
文章平均质量分 86
主要是Linux系统调用层面上的学习笔记
VVPU
这个作者很懒,什么都没留下…
展开
-
1、gcc&g++及相关参数
GCC介绍GCC原名GUN C语言编译器(GNU C Compiler)GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言译器。GNU 编译器套件包括 C、C++、Objective-C、Java、Ada 和 Go 语言前端,也包括了这些语言的库(如 libstdc++,libgcj等)GCC不仅支持C的许多方言,也可以区别不同的C语言标准;可以使用命令行选项来控制编译器在翻译源代码时应该遵循哪个 C 标准。例如,当使用命令行参数-std=c99原创 2022-05-29 11:07:00 · 216 阅读 · 0 评论 -
2、静态库的制作与使用
库的介绍◼ 库是特殊的一种程序,编写库的程序和编写一般的程序区别不大,只是库不能单独运行。◼ 库文件有两种,静态库和动态库(共享库),区别是:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。所以调用了静态库的程序可以将库文件剪切到其他地方也不会影响程序的执行;而exe程序在执行的时候必须要在指定的位置能够找到动态库才能执行。◼ 库的好处:1.代码保密 2.方便部署和分发静态库的制作比如设计一个算数(±*/)的动态库。首原创 2022-05-29 11:47:49 · 208 阅读 · 0 评论 -
3、动态库的创建与使用
动态库的创建动态库的命名规则Linux : libxxx.solib : 前缀(固定)xxx : 库的名字,自己起so : 后缀(固定)在Linux下是一个可执行文件2、制作目录如下:第一步:gcc 得到 .o 文件,得到和位置无关的代码gcc -c –fpic/-fPIC a.c b.c进入src目录中,使用一下命令生成.o文件,此时当前目录中就有了四个.o文件gcc -c -fpic add.c sub.c mult.c div.c -I../include第二步:原创 2022-05-29 17:48:29 · 1031 阅读 · 0 评论 -
4、动态库与静态库的对比及动态加载库
程序编译成可执行程序的过程静态库:在原程序链接时,会把静态库的代码合并到源程序的可执行文件中。动态库:在原程序链接时,不会把动态库的代码合并源程序的可执行文件中,而只是添加了动态库的一些信息到其中。静态库的制作过程动态库的制作过程-fpic / -fPIC是指生成位置无关的代码,因为动态库是动态的可以被多个程序共同加载的,所以无法和静态库一样将代码嵌入到可执行程序中。静态库的优缺点动态库的优缺点...原创 2022-05-29 22:41:38 · 558 阅读 · 0 评论 -
5、makefile文件
Makefile/makefile介绍◼ 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,Makefile 文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 Makefile 文件就像一个 Shell 脚本一样,也可以执行操作系统的命令。◼ Makefile 带来的好处就是“自动化编译” ,一旦写好,只需要一个 make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。make 是一个命令工具,是一个原创 2022-05-30 23:29:02 · 264 阅读 · 0 评论 -
6、GDB调试
GDB介绍◼ GDB 是由 GNU 软件系统社区提供的调试工具,同 GCC 配套组成了一套完整的开发环境,GDB 是 Linux 和许多类 Unix 系统中的标准开发环境。◼ 一般来说,GDB 主要帮助你完成下面四个方面的功能:启动程序,可以按照自定义的要求随心所欲的运行程序可让被调试的程序在所指定的调置的断点处停住(断点可以是条件表达式)当程序被停住时,可以检查此时程序中所发生的事可以改变程序,将一个 BUG 产生的影响修正从而测试其他 BUG(动态修改程序)生成调试信息◼ 通常,在为原创 2022-05-31 15:39:01 · 504 阅读 · 0 评论 -
7、Linux文件IO
linux文件io原创 2022-06-05 12:00:16 · 210 阅读 · 0 评论 -
8、Linux(Ubuntu18)安装MySQL以及C操作MySQL
Linux安装MySQL以及C操作MySQL原创 2022-06-06 23:13:02 · 524 阅读 · 0 评论 -
9、Linux(Ubuntu 18)安装Redis以及C操作Redis
Linux中安装Redis以及用C操作Redis原创 2022-06-07 09:38:46 · 781 阅读 · 0 评论 -
10.1、Linux多进程开发(概念和命令)
Linux中的进程相关概念以及相关的进程命令原创 2022-06-11 08:53:41 · 208 阅读 · 0 评论 -
10.2、Linux多进程开发(fork和exec函数族)
详细说明了fork创建进程的机制以及exec函数族的使用原创 2022-06-13 16:54:20 · 1022 阅读 · 0 评论 -
10.3、Linux多进程开发(孤儿僵尸进程、进程回收函数)
讲述了进程退出函数、孤儿进程和僵尸进程以及进程回收的相关函数原创 2022-06-14 20:41:01 · 236 阅读 · 0 评论 -
10.4、Linux多进程开发(进程通信1)
讲述了进程间的通信的其中三种方式,匿名管道、有名管道、映射区,原创 2022-06-26 10:19:00 · 153 阅读 · 0 评论 -
10.4、Linux多进程开发(进程通信2信号)
Linux多进程中的信号原创 2022-07-05 16:58:28 · 159 阅读 · 0 评论 -
10.4、Linux多进程开发(进程通信3共享内存)
进程通信的方式---共享内存原创 2022-07-05 19:59:26 · 156 阅读 · 0 评论 -
10.5、Linux多进程开发(守护进程)
Linux的守护进程原创 2022-07-10 16:48:29 · 174 阅读 · 0 评论 -
11.1、Linux多线程开发(操作和属性)
Linux的多线程的操作和属性原创 2022-07-12 09:06:55 · 186 阅读 · 0 评论 -
11.2、Linux多线程开发(线程同步)
线程同步、死锁、读写锁、生产者消费者模型、条件变量和信号量等问题原创 2022-07-14 18:57:59 · 193 阅读 · 0 评论