茶馆的概念:在非MFC程序中引用CString
来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 20:06:16
CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论。
为了使用CString类,首先源文件必须是以cpp结尾的,这是因为vc默认对不同的扩展名采用不同的编译方法和错误检查,mfc的支持文件Afx.h只有由cpp为扩展名的文件包含才能够正常编译。对于exe和库要采用不同的方式。下面分别讨论:
一、在非dll或者lib的工程里,使用CString非常容易,只要两步:
1、对于没有包含
// stdafx。h#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers#include这样就可以在程序中正常使用CString类了。// 加在这里// Windows Header Files:#include // C RunTime Header Files#include #include #include #include #ifdef _DEBUG#pragma comment(lib, "libcmtd.lib")#else#pragma comment(lib, "libcmt.lib")#endif// Local Header Files#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
二、在dll或者lib的工程中,由于afx.h默认带了一个DllMain,致使要使用CString类需要几个步骤。
1、首先和控制台程序一样,如果编译环境设置了采用单线程库, 要改成多线程库,这个可以从工程属性里进行修改,详细信息可以参考候捷的<
#ifdef _DEBUG#pragma comment(lib, "libcmtd.lib")#else#pragma comment(lib, "libcmt.lib")#endif2、工程目录下创建一个DLLMODUL.CPP文件,并且把它加入到当前工程中。
3、打开DLLMODUL.CPP文件,编辑这个文件为这样:
#include "stdafx.h"#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif#define new DEBUG_NEW/////////////////////////////////////////////////////////////////////////////// global data// The following symbol used to force inclusion of this module for _USRDLL#ifdef _X86_extern "C" { int _afxForceUSRDLL; }#elseextern "C" { int __afxForceUSRDLL; }#endif4、打开stdafx.h,把afx.h包含在windows.h前面。现在可以正常的使用CString了。出处:http://www.vckbase.com/document/viewdoc/?id=1437
在非MFC程序中引用CString
MFC中CString.Format的详细用法
VS2008在VC/MFC中为程序定义全局快捷键 - 弘毅的日志 - 网易博客
工具栏 Without MFC(非MFC)
如何在MFC单文档中创建多视图111
用CLinkControl给MFC程序添加超链接
在RCP程序中嵌入Word文档
在C#程序中实现插件架构
在Windows XP中运行DOS程序
在MFC中使用纯COM方式来操纵Flash OCX (IShockwaveFlash)
在VC/MFC编程中将单文档程序改成多文档方法(原创)_闲云野鹤的博客 —— 纪念大二和大...
如何修改MFC AppWizard向导生成的框架程序
怎么在程序中往对话框上写字啊?
N600+中有的程序适合安装在手机
我要如何在程序中开启网页
程序正义 并 非 目的
CString.Format
CString类
C++ , CString
【引用】在雨中...【生态原摄】
【引用】教师如何在听课中成长
接触VC之二:MFC类基础,C++程序编写规范介绍 - VC知识库文章
在MFC下如何定义全局变量和全局函数
“正当程序”在美国