- 博客(18)
- 资源 (3)
- 收藏
- 关注
转载 OpenMP
1 简介www.openmp.orgGNU的gomp项目;Include ;编译参数-fopenmp打开openmp,如果使用-lgomp则编译成单线程版本;条件编译 #ifdef _OPENMP声明并行区,由编译器和运行时库确定线程的创建、终止、调度和数量,并行区结束后线程挂起等待进入下一并行区;Intel编译器的OMP开关,关上时将编译成非并行代码,-Qo
2015-06-29 15:18:16 383
转载 string和stringstream用法总结
一、stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串
2015-06-29 14:28:20 19589
转载 windows笔记-虚拟内存
Windows提供了3种进行内存管理的方法: • 虚拟内存,最适合用来管理大型对象或结构数组。 • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据。 • 内存堆栈,最适合用来管理大量的小对象。 虚拟内存在地址空间中保留一个区域 通过调用VirtualAlloc函数,可以在进程的地址空间中保留一个区域:
2015-06-29 13:40:50 757
转载 windows笔记-内存映射文件
Windows提供了3种进行内存管理的方法: • 虚拟内存,最适合用来管理大型对象或结构数组。 • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据。 • 内存堆栈,最适合用来管理大量的小对象。 内存映射文件内存映射文件与数据视图的相关性页文件支持的内存映射文件使用内存映射文件在进程之间共享数据
2015-06-29 13:20:30 504
转载 ReleaseMutex用法
Mutex中提供了WiteOne,ReleaseMutex 两个实例方法~WiteOne的作用是"阻塞当前线程,提供对该线程的原子操作"也就是说当一个线程遇到WiteOne的时候,如果在WiteOne里面没有线程在操作,则此线程进去操作而里面有线程的时候,所有到此的线程均需要排队等候里面的线程执行完毕~而控制这样操作的结束标记就是使用ReleaseMutex 方法!
2015-06-29 11:24:19 9841 2
转载 com组件和一般dll的区别
这阵子在想一个需要利用com组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用com,而不采用一般的dll呢? 到google上查了一下,许多人也问了一样的问题:) 用com来写程序要比普通的dll麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad这样大型软件的时候,需要跨区域来协同工作。 “学习COM,首先要知道COM的目的是什么,它
2015-06-25 22:29:05 4057
转载 typedef函数指针用法
1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plaincopychar (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2);
2015-06-25 18:04:28 884
转载 strcpy和memcpy的区别
trcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
2015-06-24 17:56:08 500
转载 vector内存管理
为了提高效率,实际上vector 并不是随每一个元素的插入而增长自己,而是当vector 需要增长自身时,它实际分配的空间比当前所需的空间要多一些.。也就是说它分配了一些额外的内存容量或者说它预留了这些存储区分配的额外容量的确切数目由具体实现定义,这个策略使容器的增长效率更高——因此实际上对于小的对象vector 在实践中比list效率更高让我们来看一看在C++标准库的Rogu
2015-06-23 22:02:54 1072
转载 VS2008远程调试
环境: 同一局域网内,主机和虚拟机远程调试 远程计算机:虚拟机搭的WindowsXP/32(局域网中使用桥接,非局域网使用NAT) 本地计算机:Windows XP、Win71.本机计算机要求:VS2008 IDE 打开被调试代码 2.本机计算机登陆的用户名和密码,必须和远程计算机的登录名和密码相同,仅仅用户名相同,密码不同也是不可以的,会报错。
2015-06-17 16:15:38 597
转载 OpenMP命令与子句
1、为了在OpenMP中创建线程,需要指定一些代码块并行地运行,C/C++中可以通过指定#pragma omp parallel完成. 2、OpenMP要求I/O库是线程级安全的,但它并没有指定哪一个线程在什么时间打印它的记录,因此输出记录的任何有效交错都有可能发生,程序员不能依靠线程以一种特定的顺序打印它们的记录. 3、如果在一个并行区域中声明一个变量,则对于一个线程
2015-06-16 15:34:25 2273
转载 OpenMP简介
OpenMp是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性的编译处理方案(Compiler Directive)。OpenMP支持的编程语言包括C语言、C++和Fortran;而支持OpenMp的编译器包括Sun Compiler,GNU Compiler和Intel Compiler等。O
2015-06-16 15:31:02 1424
转载 c++中#pragma的用法
c++中#pragma的用法在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para
2015-06-16 13:41:36 10929
原创 vector和set的区别
STL中的容器可以分为两大类:1、顺序容器:list,queue,vector2、关联容器:map,set(当然对应的有multimap,multiset)其中vector的存储结构是数组,其它的存储结构是链表。言归正传,现在看一下vector和set的区别:首先vector属于顺序容器,其元素与存储位置与操作操作有关;set属于关联容器,其元素相当于键值。set能够保
2015-06-14 22:58:31 10779
转载 STL中set用法详解
原文set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自
2015-06-11 11:34:45 6955
转载 C/C++ 笔试、面试题目大汇总2
原文一.找错题试题1:void test1(){ charstring[10]; char* str1 ="0123456789"; strcpy( string, str1 );} 试题2:void test2(){ charstring[10],str1[10]; int i; for(i=0; i
2015-06-08 16:45:28 486
转载 C/C++ 笔试、面试题目大汇总-1
原文这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return cou
2015-06-08 16:17:29 551
转载 C++经典面试题
1、int a=5,则 ++(a++)的值是()A、5 B、 6 C、7 D、逻辑错误a++返回的是一个临时变量,这里是右值,不能再前面++了编译时提示错误Error1 error C2105: '++' needs l-value2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高)[cpp] vie
2015-06-08 15:37:06 518
MFC经典程序之一 时钟实现
2015-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人