日志分类:编程语言

使用新版本Python(>=2.6)可能遇到如下错误,在动态链接的时候,ERROR: Failure: ImportError (DLL load failed: 找不到指定的模块。)

2009-08-30,星期天 | 分类:Python, 未分类, 编程语言 | 标签:, , , , , | 456 views
ERROR: Failure: ImportError (DLL load failed: 找不到指定的模块。)   如果遇到此种之错误,或是类似,那么 Traceback (most recent call last):   File "D:\Tools\Building\Python\lib\site-packages\nose-0.11.1-py2.6.egg\nose\loader.py", line 379, in loadTestsF     addr.filename, addr.module)   File "D:\Tools\Building\Python\lib\site-packages\nose-0.11.1-py2.6.egg\nose\importer.py", line 39, in importFro     return self.importFromDir(dir_path, fqname)   File "D:\Tools\Building\Python\lib\site-packages\nose-0.11.1-py2.6.egg\nose\importer.py", line ...

C++中不可继承的类

2009-08-24,星期一 | 分类:C/C++, 原创, 编程语言 | 标签:, | 164 views
如何让C++中的类变得不可继承呢?最笨的办法就是人为约定喽~呵呵~再仔细想一想可能会想到如下用法: class A { private: A(){} public: static A * Create(); }; 这有点像singleton的使用方法,但是这种模式用在不可继承的类上面就显得有点不伦不类了。我甚至还见有人用template来实现这个,真是鸡肋鸡肋。。。下面介绍两种方法,个人觉得还是比较漂亮的~(以下代码就懒的讲解了,大家自己看吧) class COrphanTag { protected: COrphanTag(){} }; class COnly : private virtual COrphanTag { public: COnly(){} }; class CMore : public COnly { public: CMore(){} }; int main(void) { COnly only; return 0; } 但是这个程序在VC6下是可以正常编译通过的,哎,没办法,必须顺着微软来啊,那我们再改改: class COnly; class ...

CUnit使用简介

2009-06-13,星期六 | 分类:CUnit, 原创 | 标签:, | 733 views
一、介绍 继Junit CppUnit的成功后, c语言环境下也出现了开发源码的白盒测试用例CUnit。CUnit以静态库的形式提供给用户使用,用户编写程序的时候直接链接此静态库就可以了。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。 二、结构框架 在CUnit的主页上可以看到对他结构的简单描述                    Test Registry                         |          ------------------------------          |                            |       Suite '1'      . . . .       Suite 'N'          |                            | ...

单件(Singleton)模式的实现

2009-06-01,星期一 | 分类:C/C++, 原创, 设计模式 | 标签:, , | 240 views
熟悉设计模式的朋友一定知道著名的Singleton吧,如果不知道的话那就先去拜读一下GoF的大作吧,我在这里就不详细介绍了。 直接给大家共享出我们的实现方法,使用的是C++的template。   // singleton.h #ifndef _SINGLETON_H_ #define _SINGLETON_H_ template class Singleton { protected: Singleton() {} Singleton( const Singleton & ) {} Singleton &operator = (Singleton &) {} ...

Peterson解决方案

2009-03-19,星期四 | 分类:C/C++, 算法, 转载 | 标签:, | 149 views
#define FALSE 0 #define TRUE 1 #define N 2 /* 进程数 */ int turn; /* 轮到谁了? */ int interested[N]; /* 所有值初始为0(FALSE)*/ void enter_region(int process) /* 进程号为0或1 */ { int other; /* 另一个进程的进程号 */ other = 1 - process; /* 另一个进程 */ interested[process] = TRUE; /* 标识出希望进入临界区 */ ...

用atexit()处理C/C++程序的退出

2009-03-10,星期二 | 分类:C/C++, 编程语言, 转载 | 标签: | 241 views
很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit()结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就是用atexit()函数来注册程序正常终止时要被调用的函数。 atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数。atexit()的函数原型是:int atexit (void (*)(void)); 在一个程序中最多可以用atexit()注册32个处理函数,这些处理函数的调用顺序与其注册的顺序相反,也即最先注册的最后调用,最后注册的最先调用。 下面是一段代码示例: #include // 使用atexit()函数所必须包含的头文件stdlib.h #include void terminate() { cout

extern "C"的用法解析

2009-03-01,星期天 | 分类:C/C++, 转载 | 标签: | 218 views
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题:为什么标准头文件都有类似以下的结构? #ifndef __INCvxWorksh #define __INCvxWorksh #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif #endif /* __INCvxWorksh */ 分析:显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define __INCvxWorksh、#endif” 的作用是防止该头文件被重复引用。 那么 #ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif 的作用又是什么呢?我们将在下文一一道来。

计算圆周率的一个程序代码

2009-02-28,星期六 | 分类:C/C++, 编程语言, 转载 | 标签: | 127 views
#include long a = 10000, b = 0, c = 2800, d, e, f[2801], g; void main(void) { printf("%d", b); for(; b != c;) { f[b] = a / 5; ...

打印自己代码的程序

2008-12-26,星期五 | 分类:C/C++, 原创 | 标签:, | 231 views
程序自己打印自己?没搞错吧,这么无聊?呵呵,就是这么无聊,而且不能利用元数据或者文件操作。大家无聊的时候也可以试着想一想,放松放松,娱乐一下。 其实这类程序称为Quine,就是用各种语言来实现自己打印自己,第一个想到这个问题的人一定很无聊,但是第一个想出解的人一定很天才! 以下是一个经典的C语言程序: char*f="char*f=%c%s%c;main(){printf(f,34,f,34,10);}%c";main(){printf(f,34,f,34,10);}   更多请详见Quine主页: http://www.nyx.net/~gthompso/quine.htm
Pages: 1 2 Next