1.【StructLayout】控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列。如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的。2.[MarshalAs]告诉CLI,这个函数返回值占几个字节1和2用于C#调用C++的DLL3.__declspec(dl...
分类:
其他好文 时间:
2014-06-23 08:03:50
阅读次数:
324
ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。ioctl(keyFd, FIONREAD, &b)得到缓冲区里有多少字节要被读取,然后将字节数放入b里面。接下来就能...
分类:
其他好文 时间:
2014-06-23 07:39:29
阅读次数:
384
首先我们先导入一些基本的包: asm-3.3.jar :操作java字节码的类库;(反射的替代方案,ASM是小巧轻便的 Java 字节码操控框架 ,它能方便地动态生成和改造 Java 代码。) asm-commons-3.3.jar :提供了基于事件的表现形式; asm-tree-3.3.jar ....
分类:
其他好文 时间:
2014-06-23 07:21:01
阅读次数:
209
找出将和帅所有可能的局面,要求用一个字节的变量来存储数据。我最初分析这道题,想可以枚举将的位置,那么一共有9个,再写出帅的位置就行,由于将帅不能照面,所以此时帅只有6个位置。答案必定有9*6=54个。只是判断照面的地方会比较麻烦。由于只有一个字节的变量限制和以前做题经验,使我一度想歪以为要用二进制的...
分类:
其他好文 时间:
2014-06-23 07:03:59
阅读次数:
175
大字节序(Big Endian):低地址存高位小字节序(Little Endian):高地址存地位int main(){ int x=1; char *temp = NULL; temp= (char *)&x; if (*temp =...
分类:
其他好文 时间:
2014-06-22 23:23:02
阅读次数:
202
引言:套接字地址结构在网络编程的每个实现中都要用到,因此掌握套接字地址结构是以后编写网络程序的前提,地址结构可以在两个方向上传递:从进程到内核和从内核到进程。地址转换函数在地址的文本表达和他们存放在套接字地址结构中的二进制值之间进行转换。
大多数套接字函数都需要一个指向套接字地址结构的指针作为参数。不同协议都有自己的套接字地址结构。通用的套接字地址结构是sockaddr。IPv4套接字地...
分类:
其他好文 时间:
2014-06-22 22:54:02
阅读次数:
212
你可以做如下实验来验证这个上限值:
在任意目录下新建一个目录。在该新建目录下创建一个任意文件,使其名字长度不能再输入为止。把该文件的全路径名copy到Microsoft Word中进行Word Count统计,你会发现长度为259。
再加上一个字节的'\0',就刚好是上限260字节。尽管如此,你仍然可以做出一个全路径文件名长度超出MAX_PATH=260的文件。参看上一篇博客:http:/...
常见的80x86 CPU是先存放小值,再存放大值。这是小端字节(Little endian)序列。
而数字在互联网上传输的时候,是大端字节序列(Big endian)。所以,网络编程里有一个api是htons(),用来将主机字节顺序转化成为网络字节顺序。
常见的CPU平台如下:
处理器
操作系统
字节顺序
Alpha...
分类:
其他好文 时间:
2014-06-22 16:32:56
阅读次数:
228
可以用如下的C#代码可验证这个上限值。
// --------------------------------------------------------------------------------------------------------------------
//
// Respect the work.
//
//
// The program.
//
//...
虽然内存对齐是老话题,但还是时常犯错,几下个例子,谨记: 1 void func10() 2 { 3 //要牢记,默认按4字节对齐,其他就很容易想了=============================== 4 union u_my 5 { 6 int n...
分类:
其他好文 时间:
2014-06-21 17:33:45
阅读次数:
198