C++&Pascal——用DEV C++/free pascal制作dll,并用C++/Pascal调用
来源:互联网 发布:单片机常用代码 编辑:程序博客网 时间:2024/06/05 11:55
dll代码:
pascal:
library DllNames;procedure ShowHelloWorld;stdcall;begin assign(output,'DLL.out'); rewrite(output); write('hello world'); close(output);end;exports ShowHelloWorld;beginend.
c++:
ShowHelloWorld.cpp:
#include"dll.h"#include<cstdio>#include<windows.h>extern "C" _declspec(dllexport) void ShowHelloWorld(void);void ShowHelloWorld(void){freopen("Dll.out","w",stdout);printf("hello world");return;}
dll.h:
#ifndef _DLL_H_#define _DLL_H_#if BUILDING_DLL#define DLLIMPORT __declspec(dllexport)#else#define DLLIMPORT __declspec(dllimport)#endifclass DLLIMPORT DllClass{public:DllClass();virtual ~DllClass();//void HelloWorld();void ShowHelloWorld(void);};#endif
调用文件:
pascal:
procedure Fool;stdcall;external 'DllNames.dll' name 'ShowHelloWorld';procedure UsingFool;begin// assign(output,'out.out');// rewrite(output);// write('dll fun !');// close(output); Fool;end;begin UsingFool;end.
c++:
#include<iostream>#include<cstdio>#include<Windows.h>#include<time.h>typedef void(*Dllfun)();using namespace std;int main(){/*freopen("out.out","w",stdout);printf("dll fun !");*/HINSTANCE hdll=LoadLibrary("dllnames.dll");if(hdll==NULL){FreeLibrary(hdll);}Dllfun ShowHelloWorld=(Dllfun)GetProcAddress(hdll,"ShowHelloWorld");if(ShowHelloWorld==NULL){FreeLibrary(hdll);}else{ShowHelloWorld();FreeLibrary(hdll);}return 0;}
阅读全文
0 0
- C++&Pascal——用DEV C++/free pascal制作dll,并用C++/Pascal调用
- Pascal调用与C调用
- 惑——Pascal 和 C
- C Pascal对照表
- c、pascal指针类型
- 118Pascal'sTriangle.c
- 用c实现pascal词法分析器
- c与Pascal类型对应
- Pascal与C的指针
- Pascal & C++——USACO Section 1.2 题解
- Pascal、C/C++、VisualBasic数据类型的对照
- pascal
- Pascal
- PASCAL
- 最小数问题 pascal或C
- 巴斯卡(Pascal)三角形 (C语言实现)
- [C++]LeetCode: 7 Pascal's Triangle
- [C++]LeetCode: 8 Pascal's Triangle II
- xml中1字节的UTF-8序列的字节1无效([字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案)
- lua实现ipairs、pairs的功能
- LuoguP1115最大字段和
- 课程5 :神经网络迷你项目 联系8:线性表征能力
- System.Data.SqlClient.SqlException 在将 varchar 值 'xxx' 转换成数据类型 int 时失败。
- C++&Pascal——用DEV C++/free pascal制作dll,并用C++/Pascal调用
- 数据库设计原则一
- JAVA字符串
- P2077 红绿灯
- java网络
- 多线程
- phpheader跳转后会自动提示下载
- Jekyll简明教程(二)关于Jekyll代码高亮
- qmake手册