c语言-C语言_declspec(dllexport)问题

问题描述

C语言_declspec(dllexport)问题

_declspec(dllexport) void go()
{

void (**p) ()=003cfd74;
*p =00101145;

}
我用vs2012编写的时候,()后面我写的003cfd74明明是内存地址啊,为什么都提示“int”类型不能用于初始化“void(**p)()类型的实体啊。小弟新人,求大神帮助啊。

解决方案

declspec(dllexport)的位置问题
declspec(dllexport),__declspec(dllimport)使用问题
_declspec(dllexport)

解决方案二:

直接函数指针赋值,或者你想干什么

解决方案三:

你这样直接赋值毫无意义,可以这样写
typedef void (**PTR)( ) ;
void func(){};
PTR p;
*p= func;

当然你非要给指向函数指针的指针赋值也可以,但是你得类型强转,
void (**p) ()=003cfd74 不是你把一个整形数写成16进制,他就是成为地址了,它本质还是一个数。
可以这样:
typedef void (**PTR)( ) ; //定义类型
int num = 0x003cfd74; // 把这个用来做地址的数,赋值给一个整形
PTR p = PTR(num); 类型强转,这么写骗编译器是可以的,至于能不能用那就呵呵呵

解决方案四:

诡异的用法。。。

int不是指针,更不是函数指针。尽管指针就是一个地址,是个int值,但是两者类型上来说,不一样。
非要直接这么用的话,就必须强制类型转换。就是楼上说的那么改。

解决方案五:

无论你写成十进制、八进制还是十六进制,编译器都认为这是一个普通的数而已(虽然习惯上用十六进制显示指针,但十六进制不是指针的专属进制),要对指针赋值,需要使用强制类型转换

时间: 2024-10-30 00:58:38

c语言-C语言_declspec(dllexport)问题的相关文章

win7如何更改语言 电脑语言改成英文的方法

今年evad3rs团队发布的iOS 7完美越狱工具有些特殊,中国版iOS7完美越狱工具中,捆绑有太极助手插件,此插件类似流氓插件,容易导致iOS越狱设备出现白苹果现象(国外版无此插件).目前比较好的解决办法是:在使用电脑中越狱的时候,将电脑语言改为英文,可绕过该插件.但很多电脑小白用户还不知道如何更改电脑语言,因此本文将为大家详细介绍下电脑语言更改教程. 如何更改电脑语言 电脑语言改为英文方法 以下笔者以Windows 7系统截图演示,教大家如何更改电脑语言.其他XP或者Win8系统设置方法与此

c语言-C语言递归的内存释放问题

问题描述 C语言递归的内存释放问题 我用C语言实现alpha-beta极小极大算法来做一个棋类游戏的AI,博弈树是用递归的方式构造的,然后发现AI每下一步程序的内存都在增大,原来是因为递归没有释放内存. 耗内存的指针是棋盘 char ** chessboard; 于是我在递归函数的每一个return之前都把 chessboard 给释放了,发现内存还是一直在涨,求解.. 解决方案 把递归函数实现贴出来. 解决方案二: 估计释放的不全.二级指针要分两级释放. 解决方案三: 二级指针的释放是要分两步

安卓app多语言多语言切换

问题描述 安卓app多语言多语言切换 请问大神们可以帮助我吗?在我的程序里面我想实现多语言切换,调用系统的语言设置, 改变我自己的app语言,但是不改变系统的显示语言,这样怎么实现? 解决方案 http://blog.csdn.net/forrey/article/details/44547813 去这里看看说不定对你有帮助! 解决方案二: http://my.oschina.net/jack1900/blog/290694http://blog.csdn.net/cento123/articl

c语言-C语言实现文件合并的问题

问题描述 C语言实现文件合并的问题 之前已经编写了一个程序,可以实现.txt的文件内容追加写,可是对两个视频操作的时候就行不通了.但是又不知道问题出现在哪里,视频能合并,文件大小是两个文件的和,可是新和成的文件内容只显示一个文件的内容.这个要怎么解决. 解决方案 视频文件不是简单两个文件叠加.视频文件包含复杂的结构,文件头部分指定了这个视频的格式,有多少帧,存储的偏移地址是什么你简单合并两个文件,播放器只知道根据第一个文件的文件头找数据,附加在后面的第二个文件是读不到的.你需要重新编码得到一个完

_declspec(dllexport)与_declspec(dllimport)

__declspec(dllexport)2009-03-04 17:25 我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法.当然,如果你的DLL里全是C++的类的话,你无法在DEF里指定导出的函数,只能用__declspec(dllexport)导出类.但是,MSDN文档里面,对于__declspec(dllimport)的说明让人感觉有点奇怪,先来看看MSDN里面是怎么说的: 不使用

c语言-C语言的文件问题????????

问题描述 C语言的文件问题???????? 我如果想往C的文件里写入数据,我要事先手动建立一个.txt文件吗?还是有其他方法自动创建? 解决方案 O(NlgK)问题优先队列实现文件C语言C语言中头文件相互包含问题c语言中,文件路径读取问题 解决方案二: 不用手动建立文件的,c语言里有很多文件操作函数,可以自动建立文件,并可以写入你想写入的数据 解决方案三: 我也想提这样的问题.不过既然是C的文件,我觉得应该是创建.C文件吧,.TXT是文本格式的,估计是不行的. 解决方案四: c语言中可以通过代码

c语言-C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环

问题描述 C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环 C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环 解决方案 http://jingyan.baidu.com/article/bea41d437c69b8b4c51be6e9.html 解决方案二: public class Test { public static void main(String[] args) { System.out.println("怎么插入代码块.."); } }

c语言-C语言 关于用矩形法求定积分

问题描述 C语言 关于用矩形法求定积分 #include""stdio.h""#include""math.h""int main(){ double fun1(double x); double fun2(double x); double fun3(double x); double calc(double adouble bdouble (*p)(double)); int type; double ab; double

编程c语言-C语言程序设计基础(图形)

问题描述 C语言程序设计基础(图形) 做一个随笔画程序,当鼠标左键按下拖动时,在窗口中随着鼠标位置画出轨迹,当鼠标左键抬起时则不画. 2. 做一个在图形窗口的输入程序.当用户按键时,在图形窗口出现按下的键所代表的字符,并像图形界面的输入框一样自动向右递进,按下回车键结束输入,将用户输入的内容在终端窗口显示出来.在此基础上,实现当前位置光标闪烁,并支持左右方向键和两个删除键. 请问这个怎么写 解决方案 C语言基础程序设计C语言--程序设计基础--6章C语言程序设计基础123章 解决方案二: htt