现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-07-14 23:12 工业·编程 ⁄ 共 587字 暂无评论
Windows API函数::GetModuleFileName的主要作用是获取当前应用程序的路径,其用法大致如下: extern CWinApp theApp; char szAppName[MAX_PATH]; :: GetModuleFileName(theApp.m_hinstance, szAppName, MAX_PATH); 这样字符数组szAppName就保存了当前应用程序的全路径。现在发现它的一个妙用是可以通过它获取应用程序的一些辅助文件路径,如参数文件所在的路径、临时文件所在路径,只要设置这些路径和应用程序路径存在相对关系...
阅读全文
2012-07-14 23:10 工业·编程 ⁄ 共 5408字 暂无评论
Windows环境下读写文件一般有下列有下面几种方式:C语言的文件操作函数,如fopen函数等,C++的I/O流库,Win32 API的文件操作函数,如CreateFile()、WriteFile()、ReadFile(),MFC的文件操作类,如CFile和CStdioFile等等。但是在大型的数据文件,上面的文件处理方法是不太适合的。对于大文件的操作一般是以内存映射文件来加以处理的。为此本人以读取著名的遥感图像文件格式pix文件来说明如何应用内存文件映射来设计一个通用的文...
阅读全文
对话框DoModal()函数调用失败一般而言有两种表现形式:一是对话框弹不出来,但是没有错误提示;二是对话框弹不出来,同时伴随内存访问错误的提示框出现。 第一种表现主要是因为没有对资源句柄进行切换造成的,以在DLL中弹出对话框中最为常见。解决办法是:如果是MFC规则DLL,可以使用所有导出函数的开始处添加 AFX_MANAGE_STATE宏,具体代码为:AFX_MANAGE_STATE(AfxGetStaticModuleState( )),如果是MFC扩展DLL,具体做法是 1....
阅读全文
开发时有一个工程的一个文件的断点无效,VS 2005提示说当前不会命中断点。源代码与原始版本不同,请在断点选项里设置允许源代码与原始版本不同。这个是针对单个断点进行设置。如果要对所有的断点进行设置,则要在“工具”——〉“选项”——〉“调试”——〉“要求源文件与原始版本完成匹配”去掉勾。 实际上有比这个办法更好的办法,就是将出问题的文件用notepad打开,然后另存为Unicode编码,覆盖原来的文件。 网上另外有一种办法是: ...
阅读全文
    目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称"静态库"),另一种为动态连接库(DLL,以下简称"动态库")的导入库(Import Libary,以下简称"导入库")。 静态库是一个或者多个obj文件的打包,所以有人干脆把从obj文件生成lib的过程称为Archive,即合并到一起。比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态lib只是壳子。 ...
阅读全文
2012-07-14 23:04 工业·编程 ⁄ 共 494字 暂无评论
CString转换为std::string,网上通行的做法是利用CString的GetBuffer函数。具体做法如下(编译环境为VS C++ 2005+sp1, Win XP+sp3,多字节字符集编译,以下同): CString strMFC= _T("Hello!"); std::string str2(strMFC.GetBuffer()); strMFC.ReleaseBuffer(); CString strMFC= _T("Hello!"); std::string str2(strMFC.GetBuffer()); strMFC.ReleaseBuffer(); 这种做法在unicode字符集下也可行。今天...
阅读全文
是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,就像一个国家一样,有出口也有进口,有什么难理解的呢?这是一种很自然的思路,开始我也是这样理解。 但是在两年前的一个项目中,我发现不用__declspec(dllimport)似乎也可以。比如现在我新建一个使用共享MFC DLL的规则DLL工程:...
阅读全文
2012-07-14 22:58 工业·编程 ⁄ 共 3992字 暂无评论
前天同事问我在CFileDialog中多选时按确定按钮后DoModal函数的返回值是IDCANCEL。我说不太可能吧。他的代码大致如下: static TCHAR BASED_CODE szFilter[] = _T("TXT(*.txt)|*.txt||"); CFileDialog dlg(TRUE,_T("txt"), NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, szFilter, NULL ); INT_PTR nResult = dlg.DoModal(); static TCHAR BASED_CODE szFilter[] = _T("TXT(*.txt)|*.txt||"...
阅读全文
2012-07-14 21:44 工业·编程 ⁄ 共 519字 暂无评论
1、关联(association) 说明:是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类的对象,反之亦然。 图形:一条实线,可以带箭头。 属性:名称、角色(关联中靠近它的一端的类对别外一端的类呈现的职责)、多重性。 2、聚合() 说明:一种特殊的关联,表示“整体/部分”的关系,其中一个类描述了一个较大的事物,它由较小的事物组...
阅读全文
2012-07-14 21:39 工业·编程 ⁄ 共 715字 暂无评论
    交换机和路由器两个概念容易让人混淆。     首先从工业标准的网络分层开始说起,第一层也就是物理层,通俗的讲就是那些可以直接通信的那些硬件,没有什么管理功能,最简单的包括就是那根连接着的网线。第二层是数据链路层,这一层之间的数据通信是通过MAC地址(Media access control)来区别实现的,如果对MAC地址概念比较模糊的话,就说一下网卡,每一个网卡都有一个自己在全世界独一无二的...
阅读全文