- 博客(117)
- 资源 (17)
- 收藏
- 关注
转载 流行的开源日志库对比
前段时间的一个C#项目我用了log4net,感觉不错。最近开了个新坑,对于服务器来说,日志是必不可少的组件,当然不仅仅是服务端程序,在大多数客户端程序上也需要用日志来记录用户的一些行为以及操作过程。除了为.net准备的log4net之外,类似的开源日志库其实还有log4j, log4cxx, log4cpp,log4cplus, glog等,还有为C语言准备的log4c,为python准备的log
2013-08-30 22:56:42 3111
转载 CloseHandle(),TerminateThread(),ExitThread()的区别
线程的handle用处:线程的handle是指向“线程的内核对象”的,而不是指向线程本身.每个内核对象只是内核分配的一个内存块,并且只能由内核访问。该内存块是一种数据结构,它的成员负责维护对象的各种信息(eg: 安全性描述,引用计数等)。CloseHandle()在CreateThread成功之后会返回一个hThread的handle,且内核对象的计数加1,Cl
2013-08-30 22:43:23 677
转载 struct和typedef struct
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是
2013-08-21 18:00:41 674
转载 CXX0017: 错误: 没有找到符号
编程环境:Visual Studio 2010首先确定是在 Debug 配置状态。初始解决方案如下:错误现象:CXX0017: Error: symbol this not found方法 1:将编译优化选项设置为"/Od"就可以了。工程右键 -> Properties -> Configuration Properites -> C/C++ -> Optimizatio
2013-08-21 17:34:48 2819
转载 static控件
静态控件主要用:对用户界面起说明和装饰作用。 静态控件根据其风格属性可派生出:静态图片控件、静态文本控件和静态自绘控件。 静态文本控件用来显示文本。 静态图片控件可以用来显示位图、图标、方框和图元文件,在图片控件中显示图片的好处是不必操心图片的重绘问题。 静态控件不能接收用户的编辑输入。 静态控件可以用CreateWindow或CreateWindowEx函数来创建。
2013-08-20 22:21:23 1115
原创 byte数组转char数组
方法一:void bytes_to_hexstr(char* dest, unsigned char* src) { char buffer[3];for (int i = 0; i itoa(src[i], buffer, 16); if (strlen(buffer) == 1) { strcpy(dest + i * 2, "0"); strcpy(
2013-08-19 23:37:35 6124
原创 Win32位图
简简单单几句代码即可实现该功能。 在用Direct Draw开发的时候,在建立表面的时候,要知道贴上的图片的宽度。如果用手动输入的话,不够灵活。查了一下MSDN,使用下面的方法,顺利解决。void AddBMPFile( char * szfilepath){ if ( NULL == szfilepath) return; BITMAP bm;
2013-08-19 23:34:49 988
原创 C运行库详解
运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量(例如errno)和静态变量,这可能
2013-08-19 22:03:18 914
原创 CxImage 初识
CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。有的读者可能说,有那么多优秀的图形库,如OpenIL,FreeImage,PaintLib等等,它们可谓是功能强大,齐全,没必要用其它的类库。但我要说,这些类库基本上没有免费的,使用这些类库,你要被这样那样的许可协议所束缚。在这点上,CxImage类库是完全免费的。另外,在使用上述类库时,你会遇到重重麻烦。因为它们大
2013-08-17 21:02:48 1075
转载 基于对象和面向对象编程范式辨析
本文的目的是想告诉大家,为什么C++的模板这么强大。为什么Ruby的Duck Typing(像鸭子那样编程)这么强大! 关于基于对象和面向对象编程范式,我有着不同于传统的理解。我认为我的理解更能体现出这2个范式的本意。 基于对象,就是使用类封装操作和操作依赖的数据。用类来表示一个概念。类的公共成员,包括函数和数据,就是类的接口,也叫作抽象数据类型(ADT)。 面向对象,就是
2013-08-13 16:12:58 1141
转载 C与C++中struct的区别
这里有两种情况下的区别。(1)C的struct与C++的class的区别。(2)C++中的struct和class的区别。 在第一种情况下,struct与class有着非常明显的区别。C是一种过程化的语言,struct只是作为一种复杂数据类型定义,struct中只能定义成员变量,不能定义成员函数(在纯粹的C语言中,struct不能定义成员函数,只能定义变量)。例如下面的C代码
2013-08-13 15:58:42 583
转载 C运行库 二
任何一个C程序,它的背后都有一套庞大的代码来进行支撑,以使得该程序能够正常运行。这套代码至少包括入口函数,及其所依赖的函数所构成的函数集合。当然,它还理应包括各种标准库函数的实现。这样的一个代码集合称之为运行库(Runtime Library)。而C语言的运行库,即被称为C运行库(CRT)。如果拥有Visual Studio,可以在VC/crt/src里找到一份C语言运行库的源代码。然而,
2013-08-13 15:33:35 645
原创 运行库
从字面上看,运行库是程序在运行时所需要的库文件。通常运行库是以DLL形式提供的。Delphi和C++ Builder的运行库为。bpl文件,实际还是一个DLL。运行库中一般包括编程时常用的函数,如字符串操作、文件操作、界面等内容。不同的语言所支持的函数通常是不同的,所以使用的库也是完全不同的,这就是为什么有VB运行库、C运行库、Delphi运行库之分的原因。即使都是C++语言,也可能因为提供的函数
2013-08-13 15:31:53 1091
转载 C11标准的泛型机制
Apple LLVM4.0已经支持了C11标准中的关键特性——泛型机制。尽管C11中的泛型机制比起C++的来要显得简陋不少,但是在做库的时候仍然十分管用。下面我们就来看一下C11标准中的泛型表达式。C11中的泛型机制由关键字_Generic引出,其语法形式为:_Generic ( assignment-expression , generic-assoc-list) g
2013-08-13 15:16:25 2632
原创 关于C语言中的Complex(复数类型)和imaginary(虚数类型)(
关于C语言中的Complex(复数类型)和imaginary(虚数类型) 1、C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值
2013-08-13 15:15:24 13587
原创 Directshow初探
DirectX OpenCV Opengl ffmpeg都是视频开发的框架,框架是为完成特坚功能而设计的一系列的类库。DirectX9.0b SDK下载地址及安装说明DirectX9.0c 版本的SDK 包大多是升级包,里面并未附带DirectShow 部分,故不能单独使用。 这里只能将详细的说明给大家传一下,大家如果要文件的话可以联系我哦,联系方式要么给我留
2013-08-13 15:04:34 836
转载 makefile的编写实例(windows vs2010)
######################### Read Me ########################## 任何版本的vs都是支持makefile编译的# # Makefile文件中以#开始到行结束为注释# 语法详见:# http://msdn.microsoft.com/en-us/library/yz1tske6(v=VS.100).aspx# n
2013-08-13 15:03:43 1410
转载 VC命令行打印pdf
[cpp] view plaincopyprint?CString param; param.Format(_T("/t %s"),sFilePath); SHELLEXECUTEINFO ShExecInfoPrintf = {0}; ShExecInfoPrintf.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfoPrint
2013-08-13 13:53:46 3354
转载 关于system("pause")
最近我看到有些人在想要让他们的程序延时的时候使用了system(“pause”)。我不知道是谁教给他们的这种方法,但这肯定不是一个好的习惯。通过调用system()函数,程序会调用默认的shell(命令行解释器)程序,然后shell程序会执行给定的命令行参数(在这个例子中是“pause”)。也就是说它会执行“pause.exe”程序。现在简单的c程序要依赖两个外部的程序来完成一个类似“按任意键继续
2013-08-13 13:33:52 2046 1
原创 智能机和非智能机区别
具体的各种详细说明,可以参见百度百科“智能机”词条,相当详细 智能机是指具备操作系统的手机,可以安装软件,说通俗一点就是一个简单的“1+1=”的公式,“掌上电脑+手机=智能手机”。从广义上说,智能手机除了具备手机的通话功能外,还具备了PDA的大部分功能,特别是个人信息管理以及基于无线数据通信的浏览器和电子邮件功能。 智能手机除了普通手机的通讯功能以外,一般还为用户提
2013-08-11 17:06:04 1404
转载 Google Chrome源码下载
Goolgle 于 2008.09.02 发布了浏览器 Google Chrome。Google Chrome 使用的内核源码来自开源浏览器引擎 WebKit Open Source Project。Google Chrome 的源码,同样亦是开源的。在Google 的中文官方 Blog - Google 黑板报中,提到:QUOTE: 我们对很多开发开源项目的人心存感激,我们承诺会沿着
2013-08-11 16:57:19 821
原创 软件工程剖析
完整流程:1、构建工具 项目构建工具2、编译工具3、汇编器4、 linker链接器 包含以上所有的是build工具 http://zh.wikipedia.org/wiki/Make#GNU_make
2013-08-11 16:55:36 536
转载 系统调用原理
1什么是系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内
2013-08-11 16:53:38 723
原创 开源项目托管站点SourceForge, Google Code, CodePlex
近来根据公司要求,学习Microsoft.Net。于是仿照EyeLoveU,写了一个C#的小程序。现在比较稳定了,就想放到在SoruceForge这样的网站上去秀一秀。最开始考虑的自然是SourceForge。但在公司需要通过Proxy访问sourceforge.net时,速度奇慢。 第二个考虑的是Google Code。无论在家通过ADSL访问,还是在公司通过Proxy访问,
2013-08-11 16:51:49 921
原创 IBM的新蛋糕:开源
IBM一直是开源的大力推行者,他的Eclipse 在整个 Java™ 开发人员社区,因为行业领先的 Java Development Tools (JDT) 而广为人知。越来越多的 Java 开发人员已经开始欣赏 Eclipse 的 JDT 提供的生产率和质量收益。Eclipse 对编写 Java 代码的支持真是棒极了。它的 Java 编辑器提供了语法高亮显示、格式化、折叠、内容辅助、代码模板等许
2013-08-11 16:50:15 963
原创 20个开源项目托管站点推荐
开源中国社区收录了大量的开源软件,您会发现,其中绝大多数托管在sf.net、GitHub、code.google.com等站点上。其实不错的开源托管站点还真的是不少。笔者为您总结了如下国外知名的开源项目托管网站。托管站点Top20如下:1. SourceForgeSF为大家所熟知,开源项目的大本营,SF托管至少28万个开源项目,一天的下载量超过200万。2. GitHubGit
2013-08-11 16:48:02 697
原创 Win7下添加右键获取管理员权限
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@="获取管理员权限""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\*\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /g
2013-08-11 16:32:26 924
原创 win7下出现UnknowCopnent报告解决
命令行 中执行:secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
2013-08-11 16:30:39 889
转载 Linux,RTEMS,eCos,uCOSII等
实时操作系统的选择:你还在用Linux吗?忘记了在哪看过一篇帖子,关于实时操作系统linux的选择与否的问题!随着IC业的发展,出现了越来越多的价格低廉、结构小巧的 CPU和外设。限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork、 pSOS(已被收购)、QNX、Neculeus、Windows CE、PALM、
2013-08-11 16:05:02 2473 1
转载 SldView嵌入式Linux集成开发环境
建华科技经过多年研发,成功推出SldView嵌入式Linux集成开发环境。SldView运行于Windows系统中,支持ucosii、ucLinux、Linux三种嵌入式操作系统的开发。支持从编辑代码、交叉编译、交叉调试的开发全过程,支持Linux内核、驱动、任务级、模块等动态调试,支持内核、驱动、任务、模块等同步调试。 1. 当前嵌入式Linux开发模式嵌入式系统通常为一个资
2013-08-11 15:51:05 1079
转载 Windows下建立eCos开发环境(4)-eCos源代码安装
Windows下建立eCos开发环境(4)-eCos源代码安装作者:aaaaatiger STU.03CS 版权所有 1) 网络直接安装(在Cygwin环境下,推崇这种方式)$wget –passive-ftp ftp://sources.redhat.com/pub/ecos/ecos-install.tcl 下载ecos-install.tcl$sh e
2013-08-11 15:18:10 1768
转载 什么叫实时操作系统,什么叫非实时操作系统,两者有什么区别?
嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的 可裁剪、低资源占用、低功耗等特点;而作为一种实时操作系统(本文对实时操作系统特性的讨论仅限于强实时操作系统,下面提到的实时操作系统也均指强实时操 作系统),它与通用操作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这
2013-08-11 15:14:22 1414
原创 MS是彻底抛弃makefile了,他新一代的build system 是MS Build.
MS是彻底抛弃makefile了,他新一代的build system 是MS Build.
2013-08-11 15:12:47 2452
转载 [Windows]使用nmake命令
Make是一种自动化构建工具,用于从源码自动生成可执行程序和库(通常借助于makefile来推导出目标程序);Make有多个版本,如Unix/Linux下的GNU Make、Windows下的Microsoft nmake等。关于Make的详细介绍,具体可参考Wikipedia: Make (Software)。 一直以来,都只在Linux下使用过make命令,却很少在Windows
2013-08-09 11:39:59 12860
转载 链接时如何选择C Run-Time(CRT) library
在Windows下有六种类型CRTLib(C运行库):Reusable Library Switch Library Macro(s) Defined ----------------------------------------------------------------
2013-08-09 11:37:59 832
转载 从零开始,学习windows编程(8)--自己动手,编译CRT
翻开对应VC中的lib目录,是可以看到CRT的lib文件的,我电脑上面路径是“d:\Program Files\Microsoft Visual Studio\VC98\Lib\”,大家可以自己找一下自己的路径。经过上面的文章,我们对它已经有了一定的了解,使用它当然没问题了。那作为程序员,是不是还想看看它是怎么生成的呢?这里,就是讲如何来生成一个CRT库。安装CRT源码既然题目是编译,那就
2013-08-09 11:37:38 1321
转载 C Runtime Library 的来历, API, STL, MFC, ATL关系
C Runtime Library 的来历, API, STL, MFC, ATL关系 刚接触Windows开发时,为了快速入门查了不少资料,没想到看的越多,脑袋越糊涂。因为写同一种功能的程序,找到的例程风格截然不同。拿C程序来说,有些API的名称都很长,都是没见过的变量类型而且全大写;有些跟熟悉的Linux环境C开发差不多,标准短小的C函数名。再比如某些C++程序,用的标准类也会有
2013-08-09 11:37:05 1048
原创 OpenOffice
什么是OpenOffice呢?它是一款开源的办公软件,开源就注定其免费,无条件的免费。其中包含了和微软MSOffice差不多的工具集合,文字处理软件Writer,电子表格Calc,演示文稿Impress等,其替代产品也不言而喻。 正因为其免费,从网上将其下载安装,打开其界面,也会发现其与微软产品外表惊人地一致。从这款软件中,只要微软办公软件有的功能,总能找到它的替代品影子,而其最大的特
2013-08-09 11:36:39 1790
Dll机制的测试
2013-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人