07 2012 档案
摘要:VC++支持的DLL: DLL的编制与具体的编程语言及编译器无关,动态链接库随处可见,VC++支持三种DLL:非MFC动态库、MFC规则DLL和MFC扩展DLL。DLL导出函数(或变量、类)可供应用程序调用;DLL内部函数只能在DLL程序内使用,应用程序无法调用它们。 导出函数的声明方式: 一种在函
阅读全文
摘要:1.1 创建dll项目1.2 为dll项目编写源文件头文件dllDemo.hextern "C" _declspec(dllexport) int Sum(int a,int b);//加法函数。extern "C" _declspec(dllexport) int Max(int a, int b);//取较大值函数extern "C" _declspec(dllexport) int Min(int a, int b);//取较小值函数源文件dllDemo.cpp大气象#include "dllDemo.h"e
阅读全文
摘要:(本文中所有汇编代码均采用Intel语法,即dest在左边)C++中的函数被编译成汇编代码的时候,必须遵循一定的规范,如参数怎么传递,栈指针怎么增减。Visual C++中,一共有5种情况:1.__cdecl2.__stdcall3.__fastcall4.__thiscall默认情况下,是__cdecl。__cdecl 和__stdcall的区别是:__cdecl是调用者清理栈,而__stdcall是被调用者清理栈。所以,理论来说,__cdecl生成的代码体积会更大。但是,对于varargs函数,由于被调用者并不知道参数的具体长度,所以这样的函数只能采用__cdecl。所有这四种方式,生成的
阅读全文
摘要:Q1:Cannot open precompiled header file: 'Debug/shuju1.pch': No such file or directorysolution:是预编译文件夹的问题打开stdafx.cpp 按F7,再次执行就行了Q2:编译环境是VC 6.0 ,Error spawning cl.exesolution:转:可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下...
阅读全文