Linux下动态链接库的创建和使用
摘要:/*SList.h单链表的实现*/#ifndefSLIST_H_#defineSLIST_H_#include<iostream>classNode...{public:intinfo;Node*next;Node(intel,Node*ptr=0)...{info=el;next=ptr;}};classSList...{public:SList()...{head=tail=0;}...
阅读全文
VC中如何建立一个UNICODE应用程序
摘要:建立一个应用程序,打开Alt+F7 settings选项,- 选择 C/C++ 选项卡,在 Preprocessor definenation 中加上 _UNICODE,- 在Link选项卡中,在Category 选择框中选择 Output,在 Entry-point symbo l编辑框中,添加 [b]wWinMainCRTStartup[/b] 确定。[color=Red]注意[/color]...
阅读全文
DllMain和多线程死锁
摘要:在Windows操作系统中,DLL(动态链接库)技术有很多优点。例如,多个应用程序可以共享一个DLL文件,真正实现了资源"共享",大大缩小了应用程序的执行代码,有效地利用了内存,而且DLL文件作为一个单独的程序模块,封装性、独立性好,有利于提高软件开发和维护的效率。DllMain是可选择的DLL入口指针,当进程和线程启动和终止时被系统调用,分别进行创建资源和释放资源等操作,特别地,也可以在DLL被...
阅读全文
通过ini实现多语言菜单
摘要:从前看过vc知识库上一篇《实现多语言菜单》的文章。那篇文章里采用的方法是在资源里定义两个菜单,一个英文,一个中文... 要是程序要作成100国语言的用那种方法就十分不妥了。原因是软件作者不可能会100国语言....最主要的是那样十分不方便! 最好的办法就是把菜单存到ini文件里,由用户自行定义菜单(要改成什么就改成什么)。 下面111222尝试用ini储存菜单做了一个演示工程。实现了通过ini修改...
阅读全文
用C实现C++的多态
摘要:四. 如何构造一个对象 我们用下面的结构来描述一个对象: typedef struct _ClassType { char* name; /*对象名,唯一*/ int object_size;/*对象大小,创建实列时分配内存要用到*/ int class_size; /*全部虚函数大小,如sizeof(CObjectClass)*/ void* vclass; /*虚函数指针*/ void (*I...
阅读全文
怎么修改MAC地址
摘要:想办法获取,修改你的mac修改MAC- -方法一修改 /etc/sysconfig/network-scripts/ifcfg-eth0加入一行MACADDR=xx:xx:xx:xx:xx:xx如果还有问题再把/etc/sysconfig/networking/devices/ifcfg-eth0中相应地方改一下或者把这个文件干脆删掉。方法二先在/etc/rc.d/init.d下建一个shell ...
阅读全文
内存调试技巧:C 语言最大难点揭秘
摘要:本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消息是,它们并不怎么神秘。引言 C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参考资料)和...
阅读全文
关于Debug和Release之本质区别的讨论
摘要:一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别...
阅读全文
工具栏详细操作
摘要:工具栏(ToolBar)是一种非常方便的控件,能大大增加用户操作的效率,但是基于对话框的程序,却不能像使用编辑框(Edit Box)和列表框(List Box)一样,方便地增加工具栏控件。本文将介绍一种在对话框中加入工具栏的方法。 一、 技术要点分析 所有的Windows控件(包括工具栏、编辑框等)都派生自CWnd类,这就意味着,我们可以用窗口类的Create()函数把它们“创建&...
阅读全文
VC各类之间的调用函数总结
摘要:GET App、、、、、AfxGetInstanceHandle()、、、、、AfxGetApp()GET Frame->View->Document、、、、、SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument()、、、、、MDI AfxGetMainWnd() -> MDIGetActive() -> G...
阅读全文
菜单设置
摘要://GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION |MF_CHECKED);//GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_OPEN,MF_BYCOMMAND |MF_CHECKED);//GetMenu()->GetSubMenu(0)->Se...
阅读全文
搜索文件夹并更改文件中的第四行
摘要:Search::Search() { }void Search::Start( const char * strMailDir) { BOOL ans; CFileFind find; CString strMailRoot;strMailRoot.Format("D:\\SoShare_Server\\*.*");ans = find.FindFile(strMailRoot); while(a...
阅读全文
如何使用钩子在notepad上加上“诚信邮”菜单
摘要:LRESULT CALLBACK GetMsgProc(int nCode,WPARAM wParam,LPARAM lParam ){if (HC_ACTION == nCode){char _module[256];GetModuleFileName(NULL, _module, sizeof(_module)); //获取模块路径if (strstr(_module, "\\notepad....
阅读全文