- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 C傻瓜式模板文件生成
一般编写的C模块都要开发出接口,提供给其他模块使用。自己写了一个mcm的程序,轻松一下。mcm.c内容如下:// import interface.#include "mcm.h"static char g_cbuf_InterfaceFile[] = "#ifndef %s\r\n""#define %s\r\n\r\n""// import interf
2011-11-24 15:51:14 537
原创 C傻瓜式命名规则
字符类型char c_var;char cbuf_var[16];char* pc_var;char* pcbuf_var[16];unsigned char uc_var;unsigned char ucbuf_var[16];unsigned char* puc_var;unsigned char* pucbuf_var[16];短整型short s_v
2011-11-24 15:00:51 401
原创 nasm下的int 3
在微软的cl下写C源码,加入一个断点一般是: { __asm int 3 }机器码为十六进制:CC。今天在nasm里写了一个: int 3编译通过了,用dumpbin /disasm显示为:00000041: CD 03 int 3运行起来能中断,但是不能继续运行下去了
2011-11-21 11:32:41 657
原创 嵌入式mysql资料
关于嵌入式mysql开发资料很少,有几篇帖子只说自己编译通过了,却不说说关键的步骤。还是mysql的工程师厚道,给出了嵌入式mysql开发的ptt(http://www.mysqlconf.com/mysql2009/public/schedule/detail/6833 - http://assets.en.oreilly.com/1/event/21/MySQL%20Embe
2011-11-14 10:57:41 1525 1
原创 msvcr80.dll和msvcr80d.dll共存问题
最近编译了一个库,我用的/MD选项,得到的dll依赖msvcr80.dll。我写了一个测试程序,去调用上面我编译好了的dll。可是我用的/MDd开关去编译我的测试程序。编译是通过了,运行却出现了错误。最后仔细想了想,是msvcr80.dll和msvcr80d.dll这2个dll在同一进程中的共存问题。要解决,只需要将我的测试程序用/MD编译,和我编译的库一样,都去指向msv
2011-11-09 12:56:15 1128
原创 简单的nasm和cl互操作
一共三个文件:m.asm 汇编模块test.c c调用模块bd.cmd 批处理编译模块编译的时候要设置好nasm和cl相关的环境变量。m.asm内容:segment .bssglobal _bufglobal _buf1_buf resb 16_buf1 rest 1segment .dataglobal _v1
2011-11-09 11:55:01 537
原创 比处理编译脚本 for cl 编译器(你懂的)
@echo offecho + batch script for windows sdk(c version).echo + usage : type "bd" or "bd NDEBUG" or "bd clean".echo + "bd" : build debug version.echo + "bd NDEBUG": build release version
2011-11-01 10:01:01 856
原创 关于C的宏定义
C的宏定义是没有作用域限制的,可以被重定义。要共享一个宏,应该放在头文件中,否则放在源文件.c中。在cl中,我们有时需要在编译的时候指定一个宏,一般是这样“cl /MT /Dabc test.c”,那么就相当于在test.c的开头定义了“#define abc 1”,你还可以“cl /MT /Dabc=2 test.c”,也就相当于定义了“#define abc 2”。
2011-10-31 11:34:25 512
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人