自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(12)
  • 资源 (5)
  • 收藏
  • 关注

原创 COM中方法返回VARIANT类型如何得到CString数组

      前段时间要用到VC调用一个COM组件,此组件用其他语言写的,其中有个方法返回的是VARIANT类型,而实际的数据是String数组,VC本来就不太熟悉,而且VARIANT也没怎么用过,搞了大半天才搞定,原来vt属性是VT_VARIANT|VT_ARRAY,通过先取出数据中各元素,再将各元素转化为CString类型。     好久没上CSDN了,今天上来写下来,省得到时忘记 C

2009-03-20 14:33:00 1164

原创 通过简单例子学会在C/C++中调用JAVA类

    国庆长假,基本都窝在家里,呵呵,有时间正好把前一段时间做的东西整理出来,省得以后又忘记再去查资料。    做过JAVA开发的朋友都知道,java开发的applet在每次启动时都会弹出一个DOS窗口,这个控制窗口让你开发的非常出色的界面失色不少。那怎么出除这个启动窗口呢?其实很简单,大家可能都用过eclipse,它就是java开发的,而它启动时跟VC、DEPHI做的一样不会弹出那个可恶的

2008-10-01 09:51:00 6149 2

原创 编写简单的网络抓包程序--来深入学习TCP/IP协议

   TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。大家最熟悉的一种通讯协议,TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datag

2008-09-30 15:15:00 3726 1

原创 内存泄漏及管理--程序开发注意的问题

一。何为内存泄漏     我们常说的内存泄漏通常指堆内存的泄漏,指我们的程序从堆中分配,使用完必须由程序显示地释放的内存。通常由程序中的malloc、realloc、new等函数分配的内存。在使用完后必须通过free/delete释放该内存块。如果该内存块不再访问却未被释放这就是我们通常所说的内存泄漏,而广义的内存泄漏不仅仅指堆内存的泄漏,还包括系统资源的申请释放,如socket及文件描述符、

2008-07-10 11:41:00 1011

原创 进程间SOCKET句柄传递-进程池应用

  1。函数及结构介绍开发通信程序,经常遇到服务程序的开发,常见使用进程池及线程池,下面介绍一对在进程池应用非常有用的函数,sendmsg/recvmsg,可以通过这组函数在进程中传递socket描述符。可以在主进程使用多路复用侦听socket事件,将读写事件句柄传递给工作进程进行处理。在使用函数前先来看一看下面的结构struct msghdr {  void    *msg_

2008-07-05 16:02:00 2604 1

原创 pthread线程同步开发注意问题

前段时间使用Posix Thread做多线程开发,用的是ACE的ACE_Service_Config框架,AIX环境,在重新刷新配置reconfigure马上core dump,用dbx调试发现core在pthread_cond_wait上,百思不得其解,后来查pthread资料,发现pthread_cond_wait以及POSIX线程锁机制都不是异步信号安全的,也就是说,不应该在信号处理过程中使

2008-06-21 11:46:00 477

原创 全局变量在动态库与主程序间访问-AIX移植问题

前几天将一个LINUX项目移植到AIX,按步就班,修改makefile编译通过,运行core dump,用dbx跟踪发现,主程序定义并初始化的全局变量,在动态库中值全变为0,主程序与动态库不能共享全局变量,初步判断可能是编译选项的问题,埋头狂查资料,发现在AIX必须加runtime link选项,尝试使用-G选项,问题解决。-G选项等价于下列选项的组合:-brtl  runtime link选项,

2008-06-21 11:40:00 1021

原创 常用调试工具gdb,dbx,valgrind介绍三

valgrind是Linux(x86)环境的内存调试工具,可以在此工具中运行程序来检查内存使用,可以自动检测到内存泄漏及内存管理的BUG,使你的程序更加健壮。1。valgrind安装:下载地址:www.valgrind.org,安装很简单,执行configure,make,make install2。valgrind工具集:memcheck:检测程序中的内存管理BUG,所有的写/读操作

2008-06-19 16:56:00 1824

原创 常用调试工具gdb,dbx,valgrind介绍二

dbx(SUN studio)调试工具:在利用 dbx 对程序进行源代码级调试前,必须使用 -g 选项启动:dbx program_name加载要调试的程序,调试JAVA程序dbx program_name.class|.jar,可以指定进程ID来连接正在运行的进程进行调试。也可以在dbx运行时加载调试程序:(dbx)debug program_name运行调试程序:run [运行参数

2008-06-18 11:13:00 1557

原创 常用调试工具gdb,dbx,valgrind介绍一

类UNIX下C/C++开发,代码调试比较麻烦,最原始的加跟踪调试很土,也很费时,特别是一个庞大的项目,代码行数非常大的时候调试起来非常费劲,当core dump时定位也不容易,这里介绍几个常用工具: gdb、dbx调试工具,valgrind内存检查工具(Linux) 。gdb(GNU DeBugger)是GNU的调试器,一般和gcc配搭使用。要使用GDB进行调试,编译程序时要指定-g或-ggd

2008-06-18 10:55:00 1187

原创 epoll使用介绍

linux下的epoll较之传统的select函数比较其优点     突破了单进程打开SOCKET描述符最大数目的限制,select单进程打开FD的数据是有限制的,由FD_SETSIZE设置,默认值是2048,而这在那此需要支持上万连接数目的网络服务器来说是不能忍受的,虽然这个限制可以通过修改宏重编译内核,但这会给效率带来急剧下降,而epoll却没有这个限制,理论上打开FD的数目跟系统内在有关

2008-06-07 11:22:00 1078 1

原创 线程池模式比较

 线程池模式一般分为两种:L/F领导者与跟随者模式、HS/HA半同步/半异步模式。HS/HA半同步/半异步模式:分为三层,同步层、队列层、异步层,又称为生产者消费者模式,主线程处理I/O事件并解析然后再往队列丢数据,然后消费者读出数据进行应用逻辑处理;优点:简化编程将低层的异步I/O和高层同步应用服务分离,且没有降低低层服务性能。集中层间通信。缺点:需要线程间传输数据,因此而带来的

2008-05-24 11:38:00 1375

C++ 网络编程 (卷1 运用ACE和模式消除复杂性)

C++ 网络编程 (卷1 运用ACE和模式消除复杂性),ACE学习最好的中文书

2008-10-06

ROSE培训教材中文简版

ROSE培训教材中文简版,UML建模基础

2008-10-06

CryptoAPI中文资料

CryptoAPI(一个应用程序编程接口)目的就是提供开发者在Windows 下使用PKI 的编程接口。CryptoAPI 提供了很多函数,包括编码、解码、加密、解密、哈希、数字证书、证书管理和证书存储等功能。对于加密和解密,CryptoAPI 同时提供基于会话密钥和公钥/私钥对的方法。

2008-10-06

gnu Make中文手册

本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的。

2008-10-06

valgrind使用手册

LINUX环境,内存检查工具valgrind的使用手册

2008-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除