cc

-I  //include 目录

-L //静态库目录?动态也可以

-l //小写L,接静态库名称?动态也可以

-DXXX=‘“XXFF”’ //-D直接定义宏

-c 只编译

-O 优化

-g 生成调试信息

splint , gprof, cflow , dbx , gdb ,sdb //除了工具,还有日志记录调试更便捷

动态库:隐式调用 自动加载,与静态库一致 使用时,cc 后面加上路径,接口不变可以直接换so文件

显示调用 用dlopen

动态库创建:位置无关码(PIC)型.o

gcc -O -shared -shared -o xxx.so xxx.c

LD_LIBRARY_PATH  //LINUX下设置这个环境目录,放动态库

#include dlopen() / dlsym()

显示调用动态库流程

gcc -O -o tds tds.c -ldl //-ldl 固定写法 显示调用动态库时用

二、文件系统

超级块结构 filsys.h ; i node  ino.h ;文件属性 stat.h ;

termio.h struct termio ioctl()

三、并发程序设计

sysproc //标识号0 调度系统中运行的进程, init // 标识号为1

geteuid() 进程有效用户ID,getegid() 进程有效组ID

fork-exec;vfork-exec模型

system() == vfork-exec

wait 实现父子进程之间同步:函数wait挂起调用它的进程,直到它的任一子进程退出

waitpid wait加强版

避免僵死进程 :fork两次让子进程退出,子子进程的父进程更改为进程init

四、进程通信

popen()  pclose

mkfifo/mknod k1 p 有名管道用文件操作调用使用

消息对列是UNIX内核中一个先进先出链表结构

狭义讲IPC特指消息对列,信号量,共享内存

ipc /ipcrm   struct msqid_qs

int msgget(key_t key,int msgflg); //创建消息队列

msgsnd/msgrcv //消息发送和接收

msgctl

信号量:sem.h semid_ds sem

int semget(key_t key,int nsems,int semflg)

semctl 信号量控制

semop() // P ,V ,Z(进程阻塞直到信号量为0)

共享内存:创建(shmget),映射(shmat),读写,释放(shmdt)

shmctl

五、网络通信

LINUX下C语言编程基础

实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

linux 操作系统下c语言编程入门

2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理  ...

Linux下C语言编程基础学习记录

VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s ...

Linux下C语言编程实现spwd函数

Linux下C语言编程实现spwd函数 介绍 spwd函数 功能:显示当前目录路径 实现:通过编译执行该代码,可在终端中输出当前路径 代码实现 代码链接 代码托管链接:spwd.c 所需结构体.函数. ...

Linux基础与Linux下C语言编程基础

Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

LINUX下C语言编程调用函数、链接头文件以及库文件

LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时, ...

【转】Linux基础与Linux下C语言编程基础

原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...

Linux C语言编程基本原理与实践

Linux C语言编程基本原理与实践(2018-06-16 19:12:15) Linux C语言编程基本原理与实践 高效的学习带着目的性: 是什么 -> 干什么 -> 怎么用 重识C语言 ...

P4语言编程快速开始 实践二

参考:P4语言编程快速开始 上一篇系列博客:P4语言编程快速开始 实践二 Demo 2 本Demo所做的修改及实现的功能: 为simple_router添加一个计数器(counter),该计数器附加( ...

随机推荐

《Entity Framework 6 Recipes》中文翻译系列 (28) ------ 第五章 加载实体和导航属性之测试实体是否加载与显式加载关联实体

翻译的初衷以及为什么选择来学习,请看本系列开篇 5-11  测试实体引用或实体集合是否加载 问题 你想测试关联实体或实体集合是否已经 ...

Spring 管理数据源

Spring 管理数据源 不管通过何种持久化技术,都必须通过数据连接访问数据库,在Spring中,数据连接是通过数据源获得的.在以往的应用中,数据源一般是Web应用服务器提供的.在Spring中,你不 ...

js将map转换成数组

/** * map转数组. * * @param {Map}map * map对象 * @return 数组 */ Share.map2Ary = function(map) { var list = ...

查找并绘制轮廓[OpenCV 笔记XX]

好久没有更新了,原谅自己放了个假最近又在赶进度,所以...更新的内容是很靠后的第八章,因为最近工作要用就先跳了,后面会更新笔记编号...加油加油! 在二值图像中寻找轮廓 void cv::findCo ...

objc非主流代码技巧

原文:http://blog.sunnyxx.com/2014/08/02/objc-weird-code/ [娱乐向]objc最短的方法声明 先来个娱乐向的.方法声明时有一下几个trick: 返回值 ...

WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用

WebForm页面生命周期WEBFORM_ASPNET控件树的生成和作用 摘要 页面类是如何结合后台文件类生成整个页面的HTML的代码和后台输出的代码输出到浏览器中呢?这就牵扯到Asp.net页面生命 ...

那些学些网址_jquery初学知识

http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html(ajax)http://www.enet.com.cn ...

mac+apue

直接从apuebook的网站下载源码,无法编译通过 通过查看以下博客解决这个问题 http://cocoa.venj.me/blog/compile-apue-example-code-under-l ...

理解error和exception之间的区别

很多程序员不清楚error和exception之间的区别,这区别对于如何正确的处理问题而言非常重要(见附1,"简要的叙述error和exception").就像Mary Campi ...

CSS 图像精灵

图像精灵(Image Sprites) 图像精灵是放入一张单独的图片中的一系列图像. 包含大量图像的网页需要更长时间来下载,同时会生成多个服务器请求. 使用图像精灵将减少服务器请求数量并节约带宽. 图 ...

linux+下c语言编程项目,精通UNIX下C语言编程与项目实践相关推荐

  1. Unix下设计动态库的方法《精通Unix下C语言编程与项目实践》(一)

    精通Unix下C语言编程与项目实践 之动态库的生成 作者:朱云翔,胡平 3.3 动态库的生成 动态库的生成可分为三个步骤,设计库源码.编译位置无关码(PIC)型.o文件和链接动态库.链接动态库的命令包 ...

  2. Unix编程要学习的内容(2)《精通Unix下C语言与项目实践》读书笔记(12)

    文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的职场感悟吧.不值钱的软件人才 精力充沛与事业成功   让系分来得更猛 ...

  3. Unix朝代歌《精通Unix下C语言编程与项目实践》读书笔记(7)

      文章试读  <精通Unix下C语言编程与项目实践>读书笔记(new) <精通Unix下C语言编程与项目实践>文章试读 第1回 回评论读者展迷茫,出<笔记>浪子释 ...

  4. 文件锁操作《精通Unix下C语言编程与项目实践》之三

    文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的职场感悟吧.不值钱的软件人才 精力充沛与事业成功 我的诗歌:都是我的打 ...

  5. Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  6. Unix编程需要学习的内容(3)《精通Unix下C语言与项目实践》读书笔记(13)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  7. 学习Unix,可从事什么样的工作(1)《精通Unix下C语言与项目实践》读书笔记(3)...

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的 ...

  8. 《精通Unix下C语言与项目实践》读书笔记(16)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  9. 学习Unix,可从事什么样的工作(3)《精通Unix下C语言与项目实践》读书笔记(5)...

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

最新文章

  1. SpringBoot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除。
  2. CodeForces:372(div1)div373(div2)
  3. LA 3942 Remember the Word
  4. 2021年NBA季后赛第三轮晋级预测
  5. 腾讯云游戏新进展:WeGame云游戏功能已落地全国9省市
  6. LeetCode力扣(27. 移除元素)----Java/JavaScript/C
  7. ztree在onCheck()方法中防止因触发联动关系导致页面多次渲染而卡死的问题
  8. 未能加载文件或程序集 Newtonsoft.Json, Version=4.5.0.0 的报错,解决方法
  9. Java零基础学习-每日单词(日更)
  10. 数据治理:数据指标管理平台解决方案
  11. WINDOWS系统进程查询
  12. 常识——(adb)小米VR正式版使用第三方APP,电脑充当手机的蓝牙手柄,实现确认功能,从电脑键盘向手机输入文字
  13. 跑通CHPDet模型
  14. 计算机网络技术实验TCP,计算机网络实验3TCP实验
  15. 添加额外jars包到Hive
  16. Java后端学习,推荐书籍和学习路线
  17. IOS 控制键盘升降
  18. NoSQL-Mongodb基本操作和复制集(一)
  19. python一键去PDF水印,只需十行代码,超级简单...
  20. nn.CrossEntropyLoss的ignore_index标签(CE loss)

热门文章

  1. 【Java】Java多线程神器:join使用及原理
  2. 【IDEA】IDEA 单元测试 System.in 没办法输入
  3. 【IDEA】IDEA git log 点击 没有代码变更
  4. Spark调优 shuffle调优
  5. 【Flink】Flink RecordWriterOutput pushToRecordWriter InterruptedException
  6. 【Siddhi 5】Siddhi 5 源码编译
  7. 记一次极其坑爹的Maven无法下载相关Jar包的问题:IDEA问题
  8. 使用 Docker 构建自己的镜像
  9. Springboot 整合 Netty 实战(附源码)
  10. 根据实例详解Java中的反射机制