怎么使用函数指针?

tear_pearl 2005-03-29 03:59:14
WINXP,VC6
在一个DLL中存在函数int function(int, int );
要动态调用的话
是不是如下:
typedef int(*f)(int,int);
f newF;
hModule = LoadLibrary(libraryName);
newF = (f)GetGetProcAddress(hModule,"function");

可是在f newF这一句编译不过去,提示
illegal use of this type as an expression 和
missing ';' before identifier 'newF'等

这是什么问题?
...全文
254 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tear_pearl 2005-03-30
  • 打赏
  • 举报
回复
感谢各位!!
gnixemos 2005-03-30
  • 打赏
  • 举报
回复
建议你贴多一点代码,上面的代码是没有问题的(除了GetGet)

Cline 2005-03-29
  • 打赏
  • 举报
回复
//newF = (f)GetGetProcAddress(hModule,"function");
newF = (f)GetProcAddress(hModule,"function");//多了一个Get
tear_pearl 2005-03-29
  • 打赏
  • 举报
回复
象这个:
typedef int(FUNCTION) (HWND);
参数明显错误嘛……大哥

由于我现在的这个工程类型还是一个DLL
是不是这个有问题?
DLL里还可以再调DLL吗?
sjcode 2005-03-29
  • 打赏
  • 举报
回复
dll:
extern "C" __declspec(dllexport) int function(int a,int b)

usage:
HINSTANCE hDllInstance;
typedef int(FUNCTION) (HWND);
FUNCTION *pFunction = NULL;

VERIFY(hDllInstance= LoadLibrary("yourdll.dll"));

VERIFY(pFunction = (FUNCTION*)GetProcAddress(hDllInstance,"function"));

pFunction(10,20);

FreeLibrary(hDllInstance);

记得给分哦~~
tear_pearl 2005-03-29
  • 打赏
  • 举报
回复
f也没有定义过
tear_pearl 2005-03-29
  • 打赏
  • 举报
回复
不是这个问题……

现在如果我new一个新的项目,写入上面的代码
可以编译通过
但在当前项目中,就不行……
晕了
gnixemos 2005-03-29
  • 打赏
  • 举报
回复
typedef int(*f)(int,int);
原来写的没有问题阿

除非
f已经定义过了
DentistryDoctor 2005-03-29
  • 打赏
  • 举报
回复
typedef int(*f)(int,int);

int 和 ( 之间应该有一个括号
=>
typedef int (*f)(int,int);
基于马鞍波SPWM调制与多闭环协同控制的800V维也纳整流器性能研究(Simulink仿真实现)内容概要:本文围绕800V维也纳整流器在高压工况下的性能优化问题,提出了一种基于马鞍波SPWM调制与多闭环协同控制的综合控制策略,并通过Simulink平台进行了系统建模仿真与性能验证。研究重点解决了高功率因数、低谐波畸变、快速动态响应以及中点电位平衡等关键技术难题。通过引入马鞍波调制技术,有效提升了直流母线电压利用率,降低了开关损耗;同时设计了包含电压外环、电流内环、无功补偿环及中点电位平衡环在内的多闭环协同控制系统,实现了对输入电流、输出电压及中点电位的精确控制。仿真结果表明,该方案在800V高压输入条件下仍能保持良好的稳态与动态性能,具备较高的功率因数和较低的电流总谐波畸变率(THD),显著提升了维也纳整流器在新能源发电、电动汽车充电、工业电源等高压应用场景中的适用性与可靠性。; 适合人群:具备电力电子、自动控制或电气工程相关背景,从事整流器、电源变换器或新能源系统研发工作的工程师和技术研究人员,尤其适合研究生及以上学历或有1年以上相关项目经验的专业人员。; 使用场景及目标:①应用于高电压等级的三相功率因数校正场合,如800V直流母线系统中的高效AC-DC转换;②为解决维也纳整流器在高压大功率条件下存在的中点电位漂移、电流谐波含量高、动态响应慢等问题提供技术参考;③指导基于Simulink的电力电子系统建模、控制算法设计与仿真验证工作。; 阅读建议:建议读者结合Simulink仿真模型同步学习,重点关注马鞍波调制算法的实现逻辑与多闭环控制器的参数整定方法,同时可通过修改负载条件、电网参数等方式进行对比实验,深入理解各控制环路的作用机制与协同关系。

15,465

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧