
Iridescent
文章平均质量分 62
aslan_dd
这个作者很懒,什么都没留下…
展开
-
关于内联汇编的效率
关于内联汇编存在很多误区。曾经在书上看到过手动写汇编码加入到C++程序里去,然后书上说这样会有效率上的提升,从此就想当然的认为那是对的,然后也就从此相信了只要把我们写的代码改成汇编码内联进去会快很多。 幼稚啊 编译器比我们聪明太多了,而且随着一代一代版本更新还在做更多的优化。今天亲测了一下内联汇编和普通代码的运行效率,得出的结果是内联汇编不一定比编译器优化的好。原创 2013-10-31 20:40:10 · 1130 阅读 · 0 评论 -
Reshaper的使用
原文地址:http://www.cnblogs.com/luminji/p/3285505.html一:Reshaper是什么即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才是更强大的。可是,即便如此,仍阻止不了一些第三方的个人和厂商开发出一些插件来让 VS 变得更强大转载 2015-10-21 15:47:35 · 939 阅读 · 0 评论 -
LISP记录
在lisp常用的两大方言:common lisp 和 Scheme 中,选择common list Scheme更多用于教学和研究中。 关于方言选择,可以参考这个http://www.zhihu.com/question/19734980入门书籍选择 Practical Common Lisp 中文版叫做实用common lisp 编程 编辑器选择 lisp in box在开始之前。。。 先原创 2015-09-05 17:08:56 · 527 阅读 · 0 评论 -
windows进程间通信 灰常全的
转自:http://www.cnblogs.com/hibernate6/archive/2011/12/27/2521972.html摘 要: 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面转载 2015-09-02 16:19:09 · 507 阅读 · 0 评论 -
Lisp的本质(The Nature of Lisp) 转
作者 Slava Akhmechet译者 Alec Jang出处: http://www.defmacro.org/ramblings/lisp.html简介最初在web的某些角落偶然看到有人赞美Lisp时, 我那时已经是一个颇有经验的程序员。在我的履历上, 掌握的语言范围相当广泛, 象C++, Java, C#主流语言等等都不在话下, 我觉得我差不多知道所有的有关转载 2015-09-01 11:31:39 · 1658 阅读 · 0 评论 -
vector的使用,以及编程习惯
vector是灰常常用的数据结构之一了 随便看看就知道它的用法,这个不是本文重点。在意识里,对其的使用应当有三个阶段 及格:对元素访问做保护,可以迭代器访问也可以下标访问,这个看习惯,但是一定要做保护,防止越界访问或者迭代器失效。良好:对于一些情况,要有意识对vector做优化,比如预先知道vector的大小,或者作为静态数据读取的存储,等等一些可以预估数据量的情况,预先分配大小。 这个也是写原创 2015-08-29 18:51:21 · 613 阅读 · 0 评论 -
随机数咔咔
随机数是模拟偶然事件时必不可少的。 自然的偶然事件的随机是真随机=,,=, 比如分子的热运动,是一堆杂乱无章无法预测的球球。计算机中的随机是伪随机。通过算法来实现近似的随机。非常常见的做法: 伪随机生成器 按照一个种子生成一组数列 生成的随机数想要接近真随机 1 种子足够多,种子本身足够随机 2 由算法生成的随机数,是一个由种子决定的数列原创 2015-07-27 20:56:22 · 539 阅读 · 0 评论 -
全局变量的定义
一般,我们总会把声明放在头文件,定义和实现放在cpp文件中如果头文件里有了实现,会报重定义错误造成这个链接错误很容易。。。三个文件test.h#ifndef TEST#define TESTchar* str = "abc";void fun();#endiftest.cpp#include"test.h"#includeusing namesp原创 2015-06-30 23:49:23 · 1019 阅读 · 0 评论 -
编译成dll的项目使用方式
写项目的时候,可以选择使用或者不用动态链接库动态链接库优点挺多,可以把软件项目更模块化,如果只是变动其中一个模块,替换对应的dll就可以了在选择把某个模块编译成dll的时候,需要指明,哪些是外部可以用的,哪些是不给用的#ifdef _BASEFUNC_EXPORT_#define BASE_API __declspec(dllexport)#else#def原创 2015-02-13 11:42:24 · 717 阅读 · 0 评论 -
嵌套类的使用
嵌套类规范 class COutClass{public: COutClass(); ~COutClass(); class CInnerClass { public: CInnerClass(); ~CInnerClass(); private: };private:};CoutClass 外围类CInnerClass 嵌套原创 2015-01-07 20:03:54 · 500 阅读 · 0 评论 -
c++的指针的一些小东东
今天写了一个函数有了一些感触。。。押韵。。。函数贴出来char* read_string(const char* section,const char* name, char* szfile){ char* error = "error"; char szbuffer[256]; memset(szbuffer,0,sizeof(szbuffer)); if(Ge原创 2013-12-16 10:50:02 · 475 阅读 · 0 评论 -
C/C++定义全局变量/常量几种方法的区别
原文地址:http://wrchen.blog.sohu.com/71617539.html在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错转载 2013-12-15 09:45:30 · 491 阅读 · 0 评论 -
显示卡影片播放硬件加速,作法原理完全解说
原文地址:http://www.5i01.cn/newsdetail.php?id=4481作者:G.F.我还记得我装第一台电脑时,为了看VCD的....好看影片(羞),还特别去买一张VCD加速卡来看一些夜市买来的片子,因为当时的烂电脑连放MPEG-1的影片都没力。玩电脑够久的人可能有买过这些VCD/DVD的影片加速卡,但显示卡往3D快速发展之后,这种专门看影片的附加卡就销声匿迹了转载 2013-12-03 10:51:10 · 3089 阅读 · 0 评论 -
重载成员函数的常成员函数版本
首先,复习一下const的用法 (1)const是函数类型的一部分,在实现部分也要带该关键字。 (2)const关键字可以用于对重载函数的区分。 (3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数和常数据成员。重点是第二条,const可以用来重载函数它的效果很简单,如果类的实例是const的,就一定原创 2013-11-12 22:58:55 · 1185 阅读 · 0 评论 -
二维数组和二维指针
首先,这是两个东西。一维数组和一维指针的寻址方式是一样的(顺着内存地址往下)。二维数组不能用二重指针表示,它们寻址方式不一样,二维数组撑死可以当作存放指针的数组类似 int (*p)[10]; 也就是说不定的只有一维,二维数组在内存里也是顺序存放的。此时如果用 int **p = a[2][2] = {{1,2},{3,4}};则 p[0] = 1,p[1] = 2,原创 2013-11-09 11:07:12 · 895 阅读 · 0 评论 -
内存池XX
想不到可以代替XX的词,这里不说实现,网上内存池实现的文章特别多。内存池的精髓在于解决内存碎片化的问题,用于需要长时间运行的系统(比如服务器程序),它可以带来内存上的稳定性。这是典型的空间换时间。内存池满了(没有足够放下的块)可以再申请一个继续放。内存池有两种实现方式,一直是简单直接+暴力的链式,还有一种是大顶堆结构。不论用什么方式,内存池的实现目标都是原创 2013-11-07 08:57:30 · 523 阅读 · 0 评论 -
与const为敌的mutable
mutable是const的死敌,只用来修饰类的非静态成员,只用来突破常成员函数的限制C++自己挖的坑自己来填。。 慎用volatile这个关键字也很神奇用它声明的类型变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。当要求使用volat原创 2013-11-05 10:45:35 · 583 阅读 · 0 评论 -
COM技术
首先,COM(组件对象模型)技术是一种规范,它解释了如何建立可动态互变组件的规范,这个规范提供了为了保证能够互操作,客户和组件应当遵循的一些二进制和网络标准。(摘自百度百科) 说白了,COM的精髓在于:组件,它让大规模软件开发更容易模块化了。模块化的好处,更容易开发,更容易维护。对于COM技术,要整体学习的话是一段很长的路,本身包含的东西很多,又难理解。有关COM的一些讨论见这个原创 2013-11-01 11:13:12 · 616 阅读 · 0 评论 -
volatile
这样理解,它是一个标记,告诉编译器某个变量是易变的,每次用的时候重新读取它的值。 对于普通变量 如果这么写 int a = 1; a = 2; 编译器优化后就会只剩下a = 2; 如果加了volatile,编译后的汇编码就会既有a = 1又有 a = 2;一般windows平台的程序较少用到,多用于嵌入式和多线程中。原创 2015-10-14 22:46:50 · 426 阅读 · 0 评论