
编程技术
文章平均质量分 77
yanlinembed
一步步,把不可能变成可能!
展开
-
链表操作与管理
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-12-06 11:03:14 · 415 阅读 · 0 评论 -
可变参数实现原理
C中可变参函数主要是通过以下三个函数(其实是三个宏)和一个类型来实现的:需要包含头文件 #include <stdarg.h>void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr );函数都是以va开头,其英文全称为varia原创 2016-11-18 11:10:36 · 561 阅读 · 0 评论 -
进程挂起wait_event_interruptible
在进程执行过程中,有时候需要等待某个条件满足而进行进程阻塞。 常用的一种方法就是让调用者进程暂时挂起,直到目标进程返回结果后,再唤醒等待的进程。wait_event_interruptible()定义如下:#define wait_event_interruptible(wq, condition) \({ \ int _ret = 0; \ if(!condition) \原创 2016-12-01 11:31:29 · 5897 阅读 · 0 评论 -
C++封装成托管模式供C#调用过程
C++是一种伪面向对象的语言,即可面向对象,也可能面向过程的混合编程语言。能够实现逻辑功能复杂的应用层功能,也能够开发偏向于底层的功能。 在用C#开发应用程序时,大部分底层的功能代码都是用C/C++写的SDK提供的接口,那么在C#中是无法直接调用C++的接口的。这就需要把C++提供的接口封装成能够供C#直接调用的托管模式,本文主要介绍此内容。一、 C++托管工程创建过程第一步:【文件】—>【新建】原创 2017-12-28 10:43:17 · 4342 阅读 · 0 评论 -
C++调用C#注册的回调函数
本文主要讲解C#注册回调函数提供给C++调用,用于异步通知机制。这在编程过程中是经常需要用到的模式。 此过程需要创建三个工程: 1. C++动态库工程 2. C++ CLR 托管动态库工程 3. C# 测试工程 接着前文C++封装成托管模式供C#调用过程创建的C++ CLR托管工程,在此基础上再创建一个C++动态库工程,此工程创建过程比较简单在此不再详细说明,只注意一点如图。 一、C++原创 2017-12-28 19:12:01 · 7273 阅读 · 6 评论 -
C++托管与C#中的数据类型转换
接上一篇文章 C++封装成托管模式供C#调用过程 在C#调用C++托管库的过程中,C++托管库一般只是封装为真正C++动态链接库(DLL)的一个外壳,其不做任何逻辑功能,但是会存在数据类型及结构上的转换问题,本文就是用于介绍数据类型转换过程中需要考虑的问题。 数据类型很多,限于篇幅原因,文章主要讲解几种常见且较复杂的数据类型。 1. C#句柄与C++窗体句柄类型的转换, IntPtr<—>HWN原创 2017-12-28 11:31:35 · 9600 阅读 · 1 评论 -
crtmpserver运行过程详尽分析
crtmpserver是一个基于RTMP协议的流媒体服务器。下面比较详细的分析了它的处理过程:1. SRAND();它其实是一个宏定义,srand((uint32_t)time(NULL)); srand()就是给rand()提供种子seed的,如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n),rand()也就是说,以一个固定的数值作为种子是...原创 2018-05-03 20:26:10 · 890 阅读 · 0 评论 -
POCO开源框架-模块加载卸载过程分析
一般地,基于POCO框架的程序结构都是按模块化架构的。 模块化处理过程主要涉及两个头文件: poco/1.4/Foundation/include/Poco/ClassLibrary.h poco/1.4/Foundation/include/Poco/ClassLoader.h ClassLibrary.h 此头文件的主要目的是单独导出三个函数供外部其他模块调用,实际就是Cla...原创 2018-05-16 11:37:38 · 1803 阅读 · 0 评论