最近需要写一个C组成的服务器端与C#的客户端进行交互的软件,刚开始写的时候发现C#端解析时候出现了故障,经过仔细研究后发现原因是发送方传输太快,出现了所谓粘包的现象.也就是在C#端的Receive().这个函数返回的是多个结构体连起来的数据,这当然是无法解析的.我的解决方案如下: List<byte[]> listb = new List<byte[]>(); .......... int recv = newclient.Receive(b1); for (int x = 0;
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译: ./configure --prefix=/xxx/xx --enable-static=YES make make install 相信手动在类Unix系统上面编译过开源程序的同学对上面的命令肯定非常熟悉.更悲惨的是,有些开源库是不提供configure配置文件的,只有一个Makefile或者Makefile.gc
CMake入门 CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake 一.单个文件 main.cc #include <stdio.h> #include <stdlib.h> double power(double base, int exponent) { int result = base; int i; if (ex