stdc_*_小知识点

目录

1  数字0

2  查看特殊类型的本质

3  别名的好处

4  pstree  进程快照

5  段错误(核心已转储)

6  吐核

7   void* arg

8  进程、线程

9  file  path

10  返回值特殊的函数

11  忽略  屏蔽

12  僵尸进程

13  set

14  void*

15  sizeof(buf) - 1


1  数字0

数字                  ___000___

字符                  ___\0\0\0___

vi显示                ___^@^@^@___ 

gedit显示           ___\00\00\00___ 

cat显示              ______     

windows显示     ___   ___

2  查看特殊类型的本质

        read()和write()的返回值类型是ssize,是谁的别名?

        $gcc -E write.c -o wirte.i

        $vi write.i

        /ssize_t回车

        按n继续查找

        发现ssize_t是__ssize_t的别名,__size_t是long int的别名。

3  别名的好处

        1、好理解

        2、数据超出范围时,方便将int改为long:

                typedef  int  data_t; //数据量超出40亿时,将此1处改为long int 即可。

                data_t  all;

                data_t  am;

                data_t   pm;

                当然,%d要改为%ld

4  pstree  进程快照

        执行pstree命令,得到进程快照,看到里面有pstree进程,但其实pstree进程已经结束。

5  段错误(核心已转储)

        uc_03*_段错误 Segmentation fault(core dumped)-CSDN博客

6  吐核

        生成转储文件,俗称吐核

7   void* arg

        泛型指针,可传递任意类型、任意数量的参数

8  进程、线程

        进程是内存中的代码和数据,是资源分配的最小单位。进程表、映射...

        线程是执行代码的过程,是执行调度的最小单位。调度器...

        进程是线程的容器。

9  file  path

        "run.sh"        是file

        "./run.sh"      是path

10  返回值特殊的函数

        fork()                    调用1次,返回2次

        exit()  _exit()        不返回(谁调谁死,在哪调在哪死)

        execl()                  不返回

11  忽略  屏蔽

        信号的忽略很容易理解。

        信号的屏蔽,是使信号被阻塞于未决状态,后续还是还会递送的。

        可以参考:信号掩码的意义:

        当信号正在执行类似更新数据库这样的敏感任务时,可能并不希望被某些信号中断。这时可以通过信号掩码暂时屏蔽而非忽略这些信号,使其一旦产生即被阻塞于未决状态(即屏蔽),待任务完成后,再回过头来处理这些信号。

12  僵尸进程

        进程死后(如被kill掉)进程仍存在,是僵尸进程,需收尸。

       存不存在,和死不死没关系。概念要清晰~

13  set

        set~        动词,设置        例如:setsockopt()

        ~set        名字,集            例如:sigfillset()

14  void*

        void printm(void* buf,size_t size){...}  泛化类型,啥都能接,在函数代码中再强转即可。

15  sizeof(buf) - 1

        char buf[64] = {};
        fgets(buf,sizeof(buf),stdin); / /这里不用减1,fgets()会自动减

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值