
C/C++
文章平均质量分 79
某国产码农
开最慢的车,摸最咸的鱼~~~
展开
-
压缩加壳工具UPX编译及使用实例
压缩加壳工具UPX编译及使用实例原创 2022-08-24 13:38:43 · 8656 阅读 · 1 评论 -
Linux内核中双向链表的经典实现
Linux内核中双向链表的经典实现概要前面一章"介绍双向链表并给出了C/C++/Java三种实现",本章继续对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offsetof和container_of。内容包括:1.Linux中的两个经典宏定义2.Linux中双向链表的经典实现转载请注明出处:http://www.cnblogs.com/skywang12345/p/3562146.html更多内容...转载 2021-05-13 20:30:44 · 313 阅读 · 0 评论 -
网桥+tap+epoll实现交换机
网桥+tap+epoll实现交换机本方案需要两个物理网卡,且每个网卡都需要网桥连接到Tap虚拟网卡,此时可以通过向Tap虚拟网卡进行读写操作达到对物理网卡进行读写操作。网络拓扑实现过程网络拓扑实现过程如下:使用tunctl命令创建2个Tap虚拟网卡使用brctl addbr命令创建2个网桥使用brctl addif命令将创建好的虚拟网卡与物理网卡进行连接启用网桥和虚拟网卡,达到不暴露物理网卡的目的将命令写成shell脚本,如下:tunctltunctlbrctl addbr b原创 2021-05-11 20:53:27 · 1243 阅读 · 0 评论 -
Ubuntu 1804 Desktop U盘/光驱插入监测及挂载监测
Ubuntu 1804 Desktop U盘/光驱插入监测及挂载监测最近做的项目要求在不使用第三方库、不更改系统设置及普通用户权限情况下,实时监控U盘及CD-ROM的插入及挂载情况,现在把内容整理一下。主要数据结构介绍本程序共有2个主要的数据结构:Netlink操作队列设备队列:新插入设备类型、设备名、挂载目录队列Netlink操作队列本队列主要用于存储NetLink传来的数据,便于处理进程进行处理,数据结构及相关函数如下:typedef struct _OperationQueue{原创 2021-04-27 14:52:35 · 1223 阅读 · 0 评论 -
C++生成LNK文件及LNK文件简单解析
C++生成LNK文件及LNK文件简单解析话不多说,直接上代码吧。生成快捷方式代码:int CreateLnk(const wchar_t* TARGET, const wchar_t* LNKFILE){ if (S_OK != CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)) //初始化COM库失败 return 1; IShellLinkW* psl; HRESULT hr = CoCre原创 2021-03-02 11:43:39 · 1266 阅读 · 0 评论 -
Windows平台使用文件模拟FatFs
文件模拟FatFs概述因为最近在忙关于FatFs的项目,但是之前没有接触过FatFs,听说FatFs入门就是用文件模拟文件系统,所以分享一下自己的经历。移植用到的FatFs版本是FF14,网址:http://elm-chan.org/fsw/ff/00index_e.html.在移植FatFs时,我们只需要对其中几个文件进行修改,分别是:ffconf.h: FatFs的配置diskio.c: 实现读写等操作的文件,也是我们主要进行修改的文件移植过程ffconf.h此项目主要是将FF_U原创 2020-11-13 16:39:25 · 1290 阅读 · 0 评论 -
整理《C语言深度剖析》4.3.2 –a和&a的区别
以下内容为本人大学时的笔记,最近偶然翻到,所以发出来也算留一下备份,所以有些描述什么的可能不太准确,欢迎各位大神批评指正。整理《C语言深度剖析》4.3.2 –a和&a的区别下面是陈正冲老师的《C语言深度剖析》的内容:上面这些是书中的内容,我个人感觉最难理解的是&a+1,陈正冲老师对&a+1的解释如下:对指针进行加 1 操作,得到的是下一个元素的地址,而不是原有地址值直接加 1。所以,一个类型为 T 的指针的移动,以 sizeof(T) 为移动单位。 因此,对上题来说, a原创 2020-07-09 20:49:42 · 387 阅读 · 1 评论 -
C语言auto,static,register分析
C语言auto,static,register分析C语言中的变量可以有自己的属性,在定义变量的时候可以加上“属性”关键字,“属性”关键字指明变量的特有意义autoauto即C语言中局部变量的默认属性编译器默认所有的局部变量都是auto的auto是在栈分配内存staticstatic修饰的局部变量存储在程序静态区如果想要定义静态变量,需要写明staticstatic关键同时具有“作用域限定符”的意义static修饰的全局变量作用域只是声明的文件中static修饰的函数作用域只是声明的原创 2020-07-09 20:36:55 · 326 阅读 · 0 评论 -
C语言浮点型变量不能直接进行0值比较
浮点型变量不能直接进行0值比较float类型和double类型都不能保证可以精确的存储一个小数 。如何判断一个浮点型变量是否为零?#include<stdio.h>#define E 0.00000001int main(void){ float a = 0.0; if( (0-E <= a) && (0+E >=a) ) { printf("YES!\n"); } else {原创 2020-07-09 20:23:13 · 833 阅读 · 3 评论