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

Java与C通信要注意的几个问题

1.大尾(big_endian)小尾(little_endian)的问题
基于Web的测试软件是由C++数据采集服务器程序和客户端Java显示程序两部分构成,前者用C++,后者Java语言,存在数据移植问题。因为
在计算机系统中,当包含数字的二进制文件从一个结构移到另一结构时,就出现大尾小尾问题。不同CPU在多字节数(如四字节int)存储时有两种方法,一种
方法叫小尾(little_endian),数据的低字节被放置在连续存储区的首位,另一种方法叫大尾(big_endian),数据的高字节被放置在连
续存储区的首位。Intel 80×86家族处理器是最后一个仍然坚持小尾的主要结构。所有其他的CPU结构(Motorola
680×0和所有RISC芯片)或者是纯粹的大尾或者是既适应大尾也适应小尾,大尾被认为是更符合逻辑的方法)。当数字由小尾处理器写入文件然后又由大尾
处理器读取(或者倒过来)时,数字就会被搞乱(除了0和-1)。
目前在笔者参与的项目中平台中心的GM
Server是C语言实现的,而我们这边的GM
client为Java实现的,自然需要考虑这个通信时的大小尾转换,主要涉及short,int,long类型,String,byte类型不需要转
换.
2.类型字节大小的问题
C语言中的基本类型如下:
 
类型
定义
说明
BYTE
typedef
unsigned char BYTE
单字节
WORD
typedef
unsigned short WORD
双字节无符号整数
SWORD
typedef
signed short SWORD
双字节符号整数
DWORD
typedef
unsigned int DWORD
四字节无符号整数
SDWORD
typedef
signed int SDWORD
四字节符号整数
Java的八种基本数据类型如下:
byte     1字节              
short   
2字节              
int         4字节  
            
long    
8字节 (C语言中是4字节)             
char     2字节(C语言中是1字节)
float    
4字节              
double  8


相关文档:

C Error: mixed declaration and codes.

/*FIXME
ISO C如果你在main()中写代码的中间定义了一个对于main而言的全局变量,就会报出这个错误。
*/
把这个变量定义到main函数中的最前方,就会修正这个错误。
而且为了防止出错,设定的指针之后再有参数传入malloc之后立即对于指针予以空间的创建。防止出现指针未初始化从而引起将来赋值的时候将该值覆盖了已经为本 ......

Linux下的C编程入门之“线程”控制与“线程”通信编程

本文来自:Linux教程 -- http://doc.linuxpk.com/53295.html
如有不明白之处,欢迎参加社区讨论
1.Linux“线程”
 笔者曾经在《基于嵌入式操作系统VxWorks的多任务并发程序设计》(《软件报》2006年第5~12期)中详细叙述了进程和线程的区别,并曾经说明Linux是一种“多进程单线程”的操作系统。 ......

My emacs color theme for c and c++

在这儿下载:color-theme
:
http://download.savannah.gnu.org/releases-noredirect/color-theme/
wget http://download.savannah.gnu.org/releases-noredirect/color-theme/color-theme-6.6.0.tar.gz
tar zxf color-theme-6.6.0.tar.gz -C ~/.emacs.d
在.emacs中加入下列语句:
;; corlor-theme ......

c 字符串处理

程序开头要声明
#include <string.h>
 
函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例:
 
#include <stdio.h>
#include <string.h>
 
int main(void)
{
char string[10];
char *str1 = "abcdefghi";
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号