C
文章平均质量分 60
w540982016044
这个作者很懒,什么都没留下…
展开
-
VC6.0出现“Error spawning cl.exe”的解决办法
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,你可以到相应的路径下找到这个应用程序。因此转载 2012-04-11 14:33:40 · 902 阅读 · 0 评论 -
JNI实例教程,附详细步骤
Jni程序开发的一般操作步骤如下:l 编写java中的调用类l 用javah生成c/c++原生函数的头文件l c/c++中调用需要的其他函数功能,实现原生函数(原则上可以调用任何资源)l 将项目依赖的所有原生库和资源加入到java项目的java.library.pathl 生成java程序l转载 2012-04-19 11:20:17 · 532 阅读 · 0 评论 -
Linux下Socket通信(IPC),附实例
1、Linux下的Socket通信是一种基于文件的IPC通信,也可以是基于其他设备的IPC通信。它可以在本机内不同进程间实现通信,也可以在实现不同主机之间的通信。2、Socket是一种进程间通信模式:对等模式(P2P):一对一:UDP客户服务器模式(C/S):一对多:TCP3、基本创建步骤(1)通过socket()函数创建socket(2)通过bind函数绑定soc转载 2012-04-19 18:14:47 · 750 阅读 · 0 评论 -
Linux C下socket编程API简介
1. 网络字节序 内存中的多字节数据相对于内存地址有大端和小端之分,磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应原创 2012-04-20 15:47:38 · 956 阅读 · 0 评论 -
Linux下socket编程的辅助函数:select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
最近在研究Linux下socket编程,上面说是辅助函数其实也不太准确,不过在Linux下socket编程中确实比较常用在网上找了篇文章,把其中的主要部分转过来了。select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include sys/time.h>转载 2012-04-20 18:03:21 · 1459 阅读 · 0 评论 -
gcc参数详解
[版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录所有的dos 命令 的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原 因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用它 不过,我会慢慢的 补齐的.哈哈 如果你要转在本文章请保留我email(pianopan@beeship.c转载 2012-05-08 18:18:02 · 801 阅读 · 0 评论 -
【已解决】可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ")
今天遇到一件比较奇怪的事情,在主机上使用交叉编译器来生成开发板的可执行文件。编译时没有报错,但是下载到开发板上的时候,执行的时候却报错了。而且报语法错误。真是生平之罕见啊。最后在网上找到了答案,原来竟然是最基础的知识,汗颜。网上的文章如下:【已解决】可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (e转载 2012-05-11 15:53:58 · 10280 阅读 · 0 评论 -
VS2010中启动画面的设置
1.创建一个SDI或MDI工程。2.新建或导入一个ID号为IDB_SPLASH的位图。3.从CWnd类派生一个名为CSplashWnd的子类,并添加两个保护成员变量:[cpp] view plaincopyCBitmap m_bitmap;//初始画面位图 static CSplashWnd* m_pSplashWnd;//转载 2014-04-15 20:15:38 · 850 阅读 · 0 评论 -
宽字符与char*相互转换函数
char *cctryWideCharToAnsi(wchar_t *pWideChar){if (!pWideChar) return NULL;char *pszBuf = NULL;int needBytes = WideCharToMultiByte(CP_ACP, 0, pWideChar, -1, NULL, 0, NULL, NULL);if (needBytes转载 2014-04-28 19:58:57 · 2059 阅读 · 0 评论 -
生成高斯分布随机数的程序
Box-Muller算法http://baike.baidu.com/view/1710258.htm?fr=aladdin本文用的是The Box-Muller transformation的改进方法,称为Polar Method,循环里面取代了Box-Muller方法中的sin和cos函数,从而提高了速度。#include #include do原创 2014-12-02 19:44:07 · 2743 阅读 · 0 评论 -
ANSI,Unicode,UTF-8编码详解
百度百科:ANSI编码为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。不同的国家和地区制定了不同的标准,由此产生了 GB2312、GBK、GB18030、Big5、Shift_JIS 等各自的编码标准。这些使用多个字节来代表一个字符的各种汉字延伸编码方原创 2015-01-30 14:06:18 · 1008 阅读 · 0 评论 -
虚拟网卡 TUN/TAP 驱动程序设计原理
简介虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。tun/tap驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。利用tun/tap驱动转载 2012-05-03 11:06:32 · 767 阅读 · 0 评论 -
VC6.0里面怎么恢复默认的窗口
前段时间我很不小心,把VC6.0的窗口布局给弄乱了,不知道怎么恢复,才发现,按alt+F6就可以恢复,另外,可以选择窗口菜单里面的:docking view即可。转载 2012-04-11 18:16:46 · 23652 阅读 · 6 评论 -
setsockopt()用法,及参数详解,附实例
简述: 设置套接口的选项。 #include int PASCAL FAR setsockopt( SOCKET s, int level, int optname, const char FAR *optval, int optlen); s:标识一个套接口的描述字。 level:选项定义的层次;目前仅支持SOL_SO转载 2012-04-24 11:41:08 · 2993 阅读 · 0 评论 -
android头文件路径
参见android froyo:build/core/config.mk1. 头文件路径:SRC_HEADERS := / $(TOPDIR)system/core/include / $(TOPDIR)hardware/libhardware/include / $(TOPDIR)hardware/libhardware_le转载 2012-04-13 12:22:54 · 973 阅读 · 0 评论 -
C99标准之宏定义_可变参数宏_#_##
在查看Android的log功能代码的时候发现了如下宏定义:#define LOGV(...) ((void)LOG(LOG_VERBOSE, LOG_TAG, __VA_ARGS__)) 参考如下链接和C99标准编写测试代码及输出测试如下: 链接地址: http://topic.csdn.net转载 2012-04-13 12:55:12 · 1181 阅读 · 0 评论 -
一步一步教会你使用GCC,附实例
GCC(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。同时它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等。穿插一个玩笑: GNU意思是GNU’s not Unix而非角马。然而GNU还是一个未拆转载 2012-04-28 17:07:53 · 848 阅读 · 0 评论 -
基于 Android NDK 的学习之旅-----环境搭建
工欲善其事 必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建。1、Android 开发环境搭建Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。1) 下载 JDK2) 下载 Eclipse3) 下载 Android SDK4)转载 2012-05-02 14:21:25 · 414 阅读 · 0 评论 -
在eclipse中进行Android ndk开发时c代码中Unresolved inclusion的解决
原因是在eclipse编辑环境中没有找到对应的include中的文件。解决方法是将包含该文件的include目录作为新的linked folder加入工程中。具体方法如下:1. 右击工程->New->Folder2. 对话框中点击Advanced3. 选择Link to alternate location (Linked Folder),选择需要的include目录4. Fini转载 2012-05-02 15:13:03 · 640 阅读 · 0 评论 -
使用UInput模拟系统键盘鼠标动作
1. 打开UInput Device:应用程序:dev 为 UInput Node名:通常为/dev/uinput。open(dev, O_WRONLY | O_NDELAY); 此时,在Kernel 层,对应的动作为:static int uinput_open(struct inode *inode, struct file *file)转载 2012-04-18 11:47:54 · 2817 阅读 · 0 评论 -
使用eclipse导入现有的ndk工程(NDK例子-Hello-jni导入到eclipse)
网上有很多NDK开发的例子,拿来二次开发很好。eclipse是功能强大的IDE开发环境,如果能将这些NDK工程导入可以加快进度。网上查了很久,没有具体的导入方法。通过自己摸索,终于找到了正确的导入办法。1,假设eclipse,jdk,android SDK,android NDK,CDT都安装并设置好了。2,在eclipse新建工程:File->New->Project->Android-转载 2012-05-02 14:19:32 · 1085 阅读 · 0 评论 -
Eclipse CDT配置c++标准库目录(includes的问题)(Ubuntu 11.10)
刚接触Linux,用Ubuntu11.10,还是习惯用IDE来编程。Eclipse CDT功能很强大,安装完虽然可以编译运行c++程序,但有个问题,就是找不到c++标准库的头文件,无法打开诸如之类的文件,编译器警告如下: 显示Unresolved inclusion:尽管不影响编译,却无法定位头文件中的符号。原因是没有指定Eclipse的C和C+转载 2012-05-02 12:51:26 · 2580 阅读 · 0 评论 -
总结MFC中OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别
第一,OnOK()和OnCancel()是CDialog基类的成员函数,而OnClose()和OnDestroy()是CWnd基类的成员函数, 即WM消息响应函数。 从应用程序结构的角度,拿对话框来说,红色的X对应的是CWnd,而处于对话框 中的“确定”、“取消”按钮则对应了CDialog。 第二,On转载 2015-07-13 13:50:13 · 3145 阅读 · 0 评论