c/c++
xflytang
这个作者很懒,什么都没留下…
展开
-
C++中位移操作
//这个函数的作用就是为了看vlen中的数的字节占有多长也就是i最多为4#include int main(int argc, char **argv){ //由于偶然写了一个这个数就出现了程序死了 unsigned long vlen = 0xcccccccc; int i=0; //当dw=0xcccccccc时不知为什么就出错了 do {原创 2004-07-11 15:52:00 · 3623 阅读 · 3 评论 -
Linux下线程数目限制
Linux下一个进程最多253个线程数用apr_thread_detach原创 2005-11-14 13:17:00 · 658 阅读 · 0 评论 -
ANSI C中取得结构体字段偏移值的惯用法[转]
// VC7.1#ifdef _WIN64#define offsetof(s,m) (size_t)( (ptrdiff_t)&(((s *)0)->m) )#else#define offsetof(s,m) (size_t)&(((s *)0)->m)#endif//lcc-win32, last updated:Monday, 13-Dec-2004 04:05:23 EST#d原创 2005-11-02 17:26:00 · 682 阅读 · 0 评论 -
转换中文钱
#include //const char* szUnit = "万仟佰拾亿仟佰拾万仟佰拾元角分"; // 对应单位//#define UNIT_LEN 14 //单位长const char* szUnit = "仟佰拾万仟佰拾元角分"; // 对应单位#define UNIT_LEN 9 //单位长// 数字金额转换汉字金额const char* atoc(double num){ u原创 2005-09-28 11:40:00 · 690 阅读 · 0 评论 -
使用stringstream对象实现数据类型之间的转换[转]
很多程序开发人员都使用传统的C 库来进行数据类型之间的转换,这将会导致很多问题,因为这样的转换方法存在很多危险的陷阱。标准的库提供了一种更好的转换选择,因为这一方法更加安全,自动,直接。 让我们来看一个具体的范例。假设你想把一个int转换为string。为了达到这一目的,你必须遵循如下的步骤:1. 建立一个stringstream对象,2.使用操作符3.使用操作符>>抽取前面插入到的数据到原创 2005-09-02 23:34:00 · 690 阅读 · 0 评论 -
断点调试
函数入口加断点 __asm int 3;原创 2005-08-04 13:57:00 · 562 阅读 · 0 评论 -
##用法
//#字符串#define DEFINE_STR( X ) #X //##连接符#define DEFINE_M( X ) /static const char *m##X[] = /{ / DEFINE_STR( ABC00##X.jpg ), / DEFINE_STR( ABD00##X.jpg ), /}原创 2005-08-04 15:16:00 · 610 阅读 · 0 评论 -
hash 一种算法
unsigned int hash(char *str) { register unsigned int h; register unsigned char *p; for(h=0, p = (unsigned char *)str; *p ; p++) h = 31 * h + *p; return h; }原创 2005-07-26 08:55:00 · 616 阅读 · 0 评论 -
Quick and Dirty Series: C++ FileSize() function
转自http://www.codeproject.com/useritems/filesize.asp#include #include __int64 FileSize64( const char * szFileName ) { struct __stat64 fileStat; int err = _stat64( szFileName, &fileStat ); if (0原创 2004-12-22 09:14:00 · 626 阅读 · 0 评论 -
指针函数 vc 函数指针
#include int testf();typedef int (*F2)();int a = 5;int *f1();void main(){ F2 f2; f2 = &testf; int a = f2(); int *p = f1();}int testf(){ return 1;}int *f1(){ return &a;原创 2004-08-16 10:30:00 · 852 阅读 · 0 评论 -
C++基础02
多任务,分为并行和并发两种。并行指的是空间上的多任务,并发指的是时间上的多任务。 进程的概念 现代操作系统的基本特征是并发、共享。允许多个具有独立功能的程序同时进入主存。在多处理机系统中,可以并行执行,在单处理机系统中,可并发执行。 进程的概念: 进程可以与其他程序并发执行的一段程序的一次执行过程,也是系统进行资源分配和调度的基本单位 。 进程具有动态性、并行性、独立性和相互制约性。 进程由程序块原创 2004-07-19 16:03:00 · 581 阅读 · 0 评论 -
const使用
const修饰指针和引用的用法,对于初学C++的人直是讳莫如深,不知所云.一旦你了解了其用法,一切便不值一哂了. 大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用. 1.const修饰指针 const修饰指针又可分为三种情况: const修饰指针本身 const修饰指针所指的变量(或对象) const修饰指针本身和指针所指的变量(或对象)原创 2004-07-12 09:09:00 · 533 阅读 · 0 评论 -
CEditView 中字体改变
void CDataView::OnInitialUpdate() { CEditView::OnInitialUpdate(); CFont *pfont = new CFont(); CClientDC dc(this); VERIFY(pfont->CreatePointFont(100, "宋体", &dc)); this->SetFont(pfont,原创 2004-07-12 13:38:00 · 879 阅读 · 0 评论 -
C++基础01
堆栈 首先我们要了解内存的分配方式。一般来说,内存的分配方式有三种: 1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 2.在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 3.从堆上分配,亦原创 2004-07-07 09:22:00 · 742 阅读 · 0 评论 -
signal使用
/* * Catch all deadly signals while running the external command, because a * CTRL-C, Ctrl-Break or illegal instruction might otherwise kill us. */ signal(SIGINT, exitapp);#if defin原创 2006-03-04 22:25:00 · 940 阅读 · 0 评论