![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux C语言编程环境
文章平均质量分 78
zusi_csdn
这个作者很懒,什么都没留下…
展开
-
Makefile的结构和使用
背景: 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格...原创 2017-11-06 16:21:10 · 587 阅读 · 0 评论 -
Linux动态库和静态库
背景:库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Linux 支持两种类型的库,每一种库都有各自的优缺点。静态库包含在编译时静态绑定到一个程序的函数。动态库(也叫共享库)则不同,它是在加载应用程序时被加载的,而且它与应用程序是在运行时绑定的。Linux系统有几个重要的目录存放相应的函数库,如/lib, /usr/l...原创 2017-10-15 09:45:26 · 275 阅读 · 0 评论 -
最小化记忆:gdb调试命令和vim快捷键
一、GDB调试命令编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main打开gdb调试:gdb mainctrl+c:退出输入(gdb)help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h (gdb) 回车键:重复上一命令(gdb)start:单步执行,运行程序,停在第一执行语句(gdb)run:重新开始运行文件(run-text:加...原创 2018-06-10 22:06:47 · 547 阅读 · 0 评论 -
socket多个客户端连接服务器【下】:epoll服务器&select客户端
一、epoll服务器 #include<iostream> #include<list> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<netinet/in.h> #include<arpa/inet.h> #include&原创 2018-08-20 16:44:05 · 810 阅读 · 0 评论 -
socket多个客户端连接服务器【上】:select服务器&epoll客户端
一、select服务器 #include <stdio.h> #include <netinet/in.h> #include <sys/socket.h> #include <errno.h> #include <stdlib.h> #include <arpa/inet.h> #include <sys/t...原创 2018-06-11 10:13:01 · 1119 阅读 · 0 评论