我的博客 - chenuaizhang2008 chenuaizhang2008.blog.163.com

我的博客 - chenuaizhang2008

站名: 我的博客 - chenuaizhang2008

网址: http://chenuaizhang2008.blog.163.com

目录: 电脑网络 > 网址黄页

PR:

Alexa: 0

备案号: 粤B2-20090191

服务器IP: 115.238.126.134   浙江省杭州市 电信

描述: 我的博客 - chenuaizhang2008 - 网易博客

查询: [ 网站综合查询 | PR查询 | Alexa排名 | 同IP网站 ]

详细介绍

显示下一条 | 关闭 温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》 | 关闭 我的博客http://club.tech.sina.com.cn/thread-1309958-1-1.html引言我们提倡编写功能单一、结构清晰、接口简单的函数,因为过于复杂的函数会给我们带来很多问题:加深其他开发人员理解代码的难度;不方便测试人员对其编写测试用例;容易隐藏错误;出现问题难以定位……怎样的函数算是复杂的函数?哪些代码散发着“臭味”?除了依靠经验丰富的程序员的敏锐嗅觉,我们还可以通过工具,对我们的函数和代码进行度量。不像一位严格苛刻的代码检视人员,代码度量工具并不会板着脸对我们说:“嗯……这段代码糟糕透了!",它反馈给我们的是一组度量值(Metrics),怎么看待这些度量值,就因人而异了。对于某个项目组,圈复杂度(度量值中的一项,下文将给出详细解释)超过10的函数需要返工,而对另一个项目组来说,这个标准可能降到15。利用这些度量值,我们可以了解哪些方法应该返工或进行更彻底的测试、了解项目当前的状态,并跟踪软件开发的进度。下面就来看一个常用的代码度量工具——SourceMonitor。SourceMonitor1.总体介绍SourceMonitor是一款免费的软件,运行在Win在SQL Server中,全局变量是一种特殊类型的变量,服务器将维护这些变量的值。全局变量以@@前缀开头,不必进行声明,它们属于系统定义的函数,自己没有办法定义全局变量,如果有需要,可以用变通的方法,如把你的表看做全局变量。SQL Server 7.0 以前的版本全局变量是由系统提供且预先声明的变量,通过在名称前保留两个 (@@) 符号区别于局部变量。SQL Server 7.0及其以后版本 Transact-SQL 全局变量为函数形式,现在作为函数引用。 下面就是SQL Server中一些常用的全局变量。Sql代码select APP_NAME ( ) as w --当前会话的应用程序 select @@ERROR --返回最后执行的 Transact-SQL 语句的错误代码(integer) select @@IDENTITY --返回最后插入的标识值 SELECT USER_NAME() --返回用户数据库1>'nasm' 不是内部或外部命令,也不是可运行的程序1>或批处理文件。1>Project : error PRJ0019: 某个工具从以下位置返回了错误代码:"正在执行自定义生成步骤"1>生成日志保存在“file://e:\JM代码\x264_2011_09_12\x264-060805-vc6\build\win32\Debug\BuildLog.htm”1>libx264 - 1 个错误,0 个警告2>------ 已启动生成: 项目: x264, 配置: Debug Win32------2>正在链接...2>LINK : fatal error LNK1181:无法打开输入文件“.\bin\libx264.lib”2>生成日志保存在“file://e:\JM代码\x264_2011_09_12\x264-060805-vc6\build\win32\obj\x264_Debug\BuildLog.htm”2>x264 - 1 个错误,0 个警告解决方案:1. 下载nasm.exe和ndisasm.exe作为加载汇编代码用的。(xvid编码,解码);2. 假如你的VS6.0安装在C:把上面的nasm.exe和ndisasm.exe软件拷贝到:C:/Program下载ACE (http://www.cs.wustl.edu/~schmidt/ACE.html)。最好选5.5 或者5.6 版本,不要使用最新的带微版本号的版本(如5.6.9),据我所知,这个版本的borland版要求borland C++ builder 2009。把下载文件解压。我假设放D盘,则,有目录结构 D:\ACE_wrappers1.2 Openssl安装下载openssl 开发包。这个在编译ACE_SSL要用到。安装,假设装在D盘,则有目录结构 D:\OpenSSL。在D:\OpenSSL下新建目录inc32,把include目录下的文件拷贝一份过来。在D:\OpenSSL下新建目录out32。这两步不是一定要,如果编译ACE_SSL时报找不到文件,刚好是这个路径问题,再建目录。1.3 Perl安装下载ActivePerl。这个在运行MPL生成make文件要用到。如果你机器上有装perl,就不要再安装了。
2.加载工程文件,目录: ACE_wrappers\ace\ace.dsw
3.新建 config.h 文件到 ACE_wrappers\ace目录下
4.添加包含头文件声明: #include "ace/config-win32.h"
5.添加宏定义 (注意:添加在 #include 之前)
(1).#define ACE_HAS_WINNT4 0 //OS不是NT4.0或以后版本
(2).#define ACE_HAS_STANDARD_CPP_LIBRARY 1 //使用标准C++库
(3).#define ACE_HAS_MFC 1 //使用MFC库
(4).#define THR_USE_AFX 1 //使用CWinThread产生新的线程类
(5).#define ACE_USES_STATIC_MFC 1 //静态连接MFC库
(6).#define ACE_AS_STATIC_LIBS 1 //生成静态的ACE库
(7).#define ACE_NO_INLINE
“CTest<T>::~CTest” : 不允许 dllimport 函数 的定义

“CTest<T>::CTest” : 不允许 dllimport 函数 的定义
//代码如下
template<class T>
class __declspec(dllimport) CTest
{
public:

CTest();

~CTest();
};
template<class T>
CTest<T>::CTest()
{
//
}
template<class T>
CTest<T>::~CTest()
{
//
}
当要使用一个类的时候必须要有其定义,有2种方式:

1、引用其头文件,即#include "xxx.h"。这是传统的方式。

2、使用导出类。
什么是‘导出类’,很简单,使用__declspec(dllimport)定义的类即为导出类。例如:

猜你喜欢