赞 | 15 |
VIP | 71 |
好人卡 | 24 |
积分 | 36 |
经验 | 70116 |
最后登录 | 2024-10-23 |
在线时间 | 3065 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3582
- 在线时间
- 3065 小时
- 注册时间
- 2011-11-17
- 帖子
- 980
|
本帖最后由 yagami 于 2013-10-28 14:26 编辑
无脑之人 发表于 2013-10-28 12:56
难道是我打开的姿势不对? @yagami
姿势没啥问题 但是ruby好像不认f 我试了下 用f做参数就报错 重写了下函数接受和返回都用int就没问题了 但这样精度太差 所以我觉得 你可以把碰撞的逻辑也写在dll里 这些数学函数就在dll里内部使用 外部就写个碰撞函数 碰撞只要返回0 1就足矣了 这样还能提升效率 调用次数大大减少了- #include <objbase.h>
- #include <stdlib.h>
- #include <math.h>
- int aaa()//内部函数不需要加前缀
- {
- return 123;
- }
- extern "C"__declspec(dllexport)int test()//外部调用 要加extern "C"__declspec(dllexport) 就是表示C++的函数按C风格(涉及函数重载)并声明是外部可以调用的
- {
- int a =aaa();
- return a;
- }
- BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, void* lpReserved) //CTRL C CTRL V的东西
- {
- HANDLE g_hModule;
- switch(dwReason)
- {
- case DLL_PROCESS_ATTACH:
- g_hModule = (HINSTANCE)hModule;
- break;
- case DLL_PROCESS_DETACH:
- g_hModule=NULL;
- break;
- }
- return true;
- }
复制代码 给你套写dll的模板 用vs2010 新建个win32 项目 选择dll 勾选空项目 套用上面的模板 你可以把.h 和.cpp分开写 |
|