自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 C语言强符号和弱符号

在一个项目中,不能同时存在两个强符号,比如你在一个多文件的工程中定义两个同名的函数,或初始化的全局变量,那么链接器在链接时就会报重定义的错误。我们通过weak属性声明,将myfunc.c中的全局变量a,转换为一个弱符号,然后在hello_world.c里同样定义一个全局变量a,并初始化a为4。读者可以自行验证效果。一开始举例的一个项目中,不同源文件定义的同名变量,在编译过程中的链接阶段,可能就会出现问题A.c和B.c文件中都定义了一个同名变量num,那链接器到底该用哪一个呢?...

2022-07-21 14:40:18 388 1

原创 linux环境下实现自己的打印函数

linux下实现自己的打印函数

2022-07-20 16:57:22 393

原创 Linux 内核驱动中的指定初始化

什么是指定初始化 在标准 C 中,当我们定义并初始化一个数组时,常用方法如下: int a[10] = {0,1,2,3,4,5,6,7,8}; 按照这种固定的顺序,我们可以依次给 a[0] 和 a[8] 赋值。因为没有对 a[9] 赋值,所以编译器会将 a[9] 默认设置为0。当数组长度比较小时,使用这种方式初始化比较方便。当数组比较大,而且数组里的非零元素并不连续时,这时候再按照固定顺序初始化就比较麻烦了。 比如,我们定义一个数组 b[100],其中 b[10]、b[30] 需要初始化,如果还按照前面的

2022-06-28 11:40:20 135 1

原创 Linux命名空间

命名空间是用来对资源的全局管理的,例如进程的PID。 1、命名空间的实现 内核使用nsproxy数据结构来将所有命名空间提供的对象关联起来, struct nsproxy { atomic_t count; struct uts_namespace *uts_ns; ///运行内核的名称 版本 体系结构 struct ipc_namespace *ipc_ns; //保存进程间通信的信息 str...

2019-09-22 15:27:54 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除