
c
chief1985
好好学习
展开
-
sizeof总结
一.基本数据的长度(32位windows平台)char:1(有符号无符号同) short:2(有符号无符号同) int:4(有符号无符号同) long:4(有符号无符号同) float:4 double:8 二.对齐的作用和原因: 各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在原创 2009-10-23 19:21:00 · 4300 阅读 · 6 评论 -
const与数组声明
在libidn的stringprep.h里面,有这样的声明:extern IDN_DLL_VAR const Stringprep_profiles stringprep_profiles[];extern IDN_DLL_VAR const Stringprep_table_element stringprep_rfc3454_A_1[]; 声明的实现在c文件里面,例如profile原创 2010-02-03 20:14:00 · 6088 阅读 · 2 评论 -
解决程序对vs crt的依赖(2)
在上篇文章里面(http://blog.youkuaiyun.com/chief1985/archive/2010/03/23/5409875.aspx),讲过了一些解决程序对vs crt的依赖的方法,下面介绍一种在vista以上版本可以用的方法,即SXSTrace.exe,下面是两个介绍 使用方法的文章:1。Diagnosing SideBySide failures (sxstrace.exe usa原创 2010-04-01 19:11:00 · 1886 阅读 · 0 评论 -
奇技淫巧之避免因宏带来的名字冲突
<br />转自:http://hi.baidu.com/solidmcp/blog/item/3e8fd789d4142ebd0f2444f2.html 。介绍的方法不错,可以解决很多宏冲突的问题。<br /> <br /> <br /><br />奇技淫巧之避免因宏带来的名字冲突<br /> <br />>> 退避三舍:<br />既成事实,不得不低头,你把max的名儿占了,那我就叫iMax;<br /> <br /><br />>> 刮骨疗伤:<br />中毒没问题,格老子效仿关云长刮骨疗伤。<br转载 2010-10-18 16:09:00 · 2114 阅读 · 0 评论 -
调试dll和exe加载失败
如果启动程序时出现《应用程序正常初始化(0xc0000142)失败。请单击“确定”,终止应用程序》这种错误,可以先用depends.exe这个工具来看依赖没有问题。如果没有问题,可以用resourcehacker之类的工具看exe和dll的资源段的manifest信息,通过这个来看依赖的crt是否正确,特别要注意不同dll之间这个信息可能不一样(一个exe不能同时加载多个版本的crt)。如果还不能解决,只能通过调试器来分析了。通过devenv.exe 《程序路径》来启动程序,然后打开下面的文件,并在相应地方原创 2010-10-20 21:33:00 · 3440 阅读 · 1 评论 -
wprintf输出中文
浅析 Linux 的国际化与本地化机制 http://www.ibm.com/developerworks/cn/linux/l-cn-linuxglb/index.html?ca=drs- 如何获得当前系统的locale呢?包括windows和UNIX http://bbs.chinaunix.net/viewthread.php?tid=1752378 http://search.cpan.org/~sburke/Win32-Locale-0.04/Locale.pm use Win32:原创 2010-11-09 22:07:00 · 9077 阅读 · 2 评论 -
wcscpy_s会改变后面的内容
wchar_t testBuf[MAX_PATH] = {0}; wcscpy_s(testBuf, MAX_PATH, L“c:/test”); assert(testBuf[16] == 0); 上面的代码会中assert,说明wcscpy_s会将/0后面的内容改变。原创 2011-05-26 19:20:00 · 5530 阅读 · 1 评论 -
chrome里面的一些技巧
1. 求数组长度 求数组长度一般采用的是#define count_of(arg) (sizeof(arg) / sizeof(arg[0])),但这个宏对于指针在编译是不报错的,chrome里面是这么干的: template char (&ArraySizeHelper(T (&array)[N]))[N];#define arraysize(array) (sizeof(ArraySizeHelper(array)))void Test(int C[3]){ int原创 2011-05-26 19:36:00 · 3934 阅读 · 0 评论