易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 32位与64位系统下数据类型长度的区别

近日在centos下用c写东西,这个程序的服务端运行在64位的centos下,客户端有可能是32机,也有可能是64位的。
为了保证数据传输的一致性制定了一套协议,用struct实现。为了保证输出过程中,数据的完整性,特别针对系统的不同对struct里变量的类型进行了优化。为了保证内存对齐方式的一致和数据存储空间的紧凑,都用 #pragma pack(4) 指定了对齐大小。
一下是在centos_x32和centos_x64下对应的类型长度:
/*******size of types on centos_x32*****************/
size of char:1
size of int:4
size of long :4
size of float :4
size of long long:8
size of double:8
size of long double:12
size of char * :4
/*******size of types on centos_x64*****************/
size of char:1
size of int:4
size of long :8
size of float :4
size of long long:8
size of double:8
size of long double:16
size of char * :8


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

linux last 命令详解

功能说明:列出目前与过去登入系统的用户相关信息。
  语  法:last [-adRx][-f <记录文件>][-n <显示列数>][帐号名称...][终端机编号...]
  补充说明:单独执行last指令,它会读取位于/var/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
  参  数:
......

在linux中使用crontab实现对oracle的定时备份

假设数据库的拥有者为oracle,数据库的用户为scott,其口令为trigger,
Oracle数据库的参数$ORACLE_HOME为/usr/oracle,$ORACLE_SID为oracle1,则实现步骤如下:
1、建立实现备份的shell
在/usr/oracle中用vi命令建立文件backup.sh,其内容为:
ORACLE_HOME=/usr/oracle; <br>export ORACLE_HOME;
ORACLE_SID= ......

linux下gdb单步调试

GDB 概述
————
GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 &rd ......

剖析RedHat Linux中三个重要内核文件


剖析RedHat Linux中三个重要内核文件
作者:mynix 来源:www.linux.org (2007-02-08 13:46:41)
    vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。zImage(vmlinuz)和bzImage(vmlinuz)都是用gzip压缩的。它们不仅是一个压缩文件,而且在这两个文件的开头部分内嵌有gzip解压缩代码。bzImage中的b是&ldqu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号