- 博客(12)
- 收藏
- 关注
原创 Linux信号
功能:清空信号集中的数据,将信号集中的所有的标志位置为0- 参数:set,传出参数,需要操作的信号集- 返回值:成功返回0, 失败返回-1- 功能:将信号集中的所有的标志位置为1- 参数:set,传出参数,需要操作的信号集- 返回值:成功返回0, 失败返回-1- 功能:设置信号集中的某一个信号对应的标志位为1,表示阻塞这个信号- 参数:- set:传出参数,需要操作的信号集- signum:需要设置阻塞的那个信号- 返回值:成功返回0, 失败返回-1。
2024-07-03 00:51:37 980
原创 2024/02/21
答案是:系统把这些函数实现都做到了名为libc.so.6的库文件中去了,在没有特别指定时,gcc会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到libc.so.6库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用。动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时链接文件加载库,这样就可以节省系统的开销,动态库一般后缀名为“.so”,如前面所述的libc.so.6就是动态库。不同的应用程序若调用相同的库,那么内存里只需一份该共享库。
2024-02-21 22:06:50 1729
原创 2024/02/20
内联函数本身也是一个真正的函数,具有普通函数的所有行为。而且在适当的地方也会像定义宏一样展开,所以不需要函数调用的开销。所以如果函数是一个成员函数,则不能定义为宏函数。但是,一些不写inline声明的函数,但是简单/小,编译器也可能把他作为内联编译。const用于定义常量,define用于定义宏,而宏也可以用于定义常量。宏可以避免函数频繁调用所产生的开销,由预处理完成。定义的常量,运⾏时是直接的操作数,并不会存放在内存中。define定义的常量不利于类型检查。定义的常量不带类型。定义的常量是带类型的;
2024-02-21 01:49:26 378
原创 2024/01/13
两种方法:1. 外部定义int ret;break;2. case中内部定义,但是该代码段要加大括号case 0:break;ret = 10;break;
2024-01-14 16:50:20 361
原创 2024/01/10
不在同一个作用域(分别位于派生类与基类);函数名字相同;返回值可以不同;参数不同。此时,不论有无 virtual 关键字,基类的函数将被隐藏(注意别与重载以及覆盖混淆)参数相同,但是基类函数没有 virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)class Basepublic:Base()m_A = 10;return;return m_A;~Child()
2024-01-11 16:22:15 736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人