`
文章列表
(本文主要针对动态连接库,内容来源网络,重新整理之,高亮部分的请重点关注)   一. 基 本知识   总体来说, 库可以有三种使用的形式: 静态、共享和动态. 静态库的代码在编译时就已连接到开发人员开发的应用程序中 ...

ftok函数

系统建立IPC通讯(如消息队列、共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到。 ftok原型如下:   key_t ftok( char * fname, int id)   fname就时你指定的文件名,id是子序号。 在一般的UNIX实 现中,是将 ...
欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后 剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我 会在这篇文章中提到的相关技术:   I/O端口   同步/异步   堵塞/非堵塞   服务端/客户端 ...
The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you encounter parentheses, the direction should be reversed. Once everything in the parentheses has been parsed, jump out of it. Continue till the whole declaration has been parsed ...
> 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)     #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL      我在这想看到几件事情:     1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)     2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中 有多少秒而不是计算出实际的值,是更清晰而没有代价的。     3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用 ...
当编译一个源文件生成目标文件时,会在目标文件中生成符号表和重定位表。 符号表包含在文件中定义的全局符号以及在文件中引用的外部符号(外部函数或变量)。 重定位表告诉链接器在哪些位置要进行重定位操作。 编译生成的目标文件在文件的开始处会有一个elf头,描绘了整个文件的组织结构。它还包括很多节(section)。这些节有的是系统定义好的,有 些是用户在文件中通过.section命令自定义的,链接器会将各输入目标文件中的相同的节合并。 链接器对编译生成的目标文件进行链接时,首先进行符号解析,找出外部符号在哪定义。如果外部符号在一个静态库中定义,则直接将对应的定义代码复制到 最终生成的目标文件 ...
VLC是一个功能强大的玩意,能做很多有意思的事情。 最简单的,从界面打开一个文件播放,也可以在命令行下使用,如 C:\Program Files\VideoLAN\VLC>vlc.exe test.ts 获取内置的帮助,会写到vlc-help.txt C:\Program Files\VideoLAN\VLC>vlc.exe ...

About pci.ids

pci.ids -  This is a public repository of all known ID's used in PCI devices: ID's of vendors, devices, subsystems and device classes.     '1543' with red underline : VendorID   '3052' with green underline : DevicesID     The Vendor ID and Device ID registers identify the de ...
在IA32 Manuals-Basic Architecture中, 对于IO有二种寻址方式:1, IO Port(IO Address Space); 2, Memory-Mapped IO.         1) IO Port方式.         使用体系结构相关的in/out指令来访问IO端口,并且能够保证每一条指令都在下一条之前完成,也就是in/out 指令是自然有序的。 一共有2^16(64K)个单独的8-bit端口,编号从0到FFFFH(其中从0F8H到0FFH被保留),任意两个连续 的8bit端口可以被看做是一个16bit端口,同样,任意4个连续的8bit端口可以 ...
Name outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - port I/O Description This family of functions is used to do low level port input and output. The out* functions do port output, the in* functions do ...
C++的四个类型转换运算符已经有很久了,但一直没有弄清楚它们的用法,今天看到一本书上的解释,才大致地的了解了其具体的用法. 具体归纳如下:   reinterpret_cast 该函数将一个类型的指针转换为另一个类型的指针.这种转换不用修改指针变量值存放格式(不改变指针变量值),只需在编译时重新解释指针的类型就可做到.reinterpret_cast 可以将指针值转换为一个整型数,但不能用于非指针类型的转换.例://基本类型指针的类型转换double d=9.2;double* pd = &d;int *pi = reinterpret_cast<int*>(pd); ...
一 static 1) 产生背景 引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量 ...
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。 用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。 没有用volatile关键字声明的变量i在被访 ...
      RJ45接口通常用于数据传输,共有八芯做成,最常见的应用为网卡接口。   RJ45是各种不同接头的一种类型(例如:RJ11也是接头的一种类型,不过它是电话上用 的);RJ45头跟据线的排序不同的法有两种,一种是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕;另一种是绿白、绿、橙白、蓝、蓝白、橙、棕白、棕;因此使 用RJ45接头的线也有两种即:直通线、交插线。   10 100base tx RJ45接口是常用的以太网接口,支持10兆和100兆自适应的网络连接速度,   网卡上以及 Hub 上接口的外观为 8 芯母插座 ,如图:   RJ45接口pc端的,网线为 8 芯公插头 ...
      RJ11接口和RJ45接口很类似,但只有4根针脚(RJ45为8根)。在计算机系统中,RJ11主要用来联接modem调试解调器。   RJ11通常指的是6个位置(6针)模块化的插孔或插头。这种接插件没有国际化的标准并且在通用综合布线标准中提及。而且,这个名称往往也用于4针版本的模块化接插件,从而引起混乱。   在通用综合布线标准里,没有单独提及‘RJ11’的论述,所有的连接器件必须是8针。因此RJ11和RJ45的协同工作和兼容性还没有成文。   RJ这个名称代表已注册的插孔(Registered Jack),是来源于贝尔系统的USOC (Universal Service ...
Global site tag (gtag.js) - Google Analytics