dll中结构体类型的全局变量该怎么样导出?

请高手指教!!!!!... 请高手指教!!!!! 展开
 我来答
灰姑娘的霸气
2016-02-11 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3145
采纳率:72%
帮助的人:241万
展开全部
写个头文件 c.h  声明 一个结构体类型
struct STU
{
int x;
int y;
};

定义结构体变量s的文件b.c
#include "c.h"
struct STU s; /* 不加extern ,默认认为extern  */

a.c 调用b.c里定义的全局变量s
#include <stdio.h>
#include "c.h" /* struct STU这个类型的定义(或者说声明)在这个头文件里 */
extern struct STU s;/* 声明它是外部的类型是struct STU  */
int main()
{
printf("s.x+s.y = %d+%d = %d\n",s.x,s.y,s.x+s.y);/*调用了*/
手机用户14689
2011-11-02 · TA获得超过125个赞
知道答主
回答量:899
采纳率:0%
帮助的人:206万
展开全部
首先应该告诉你 使用全局变量是很不好的习惯 学会使用参数传递 这样不仅可以解决你的问题 而且可以让程序 有较高的可读性和容错性 你只需要在insert函数中加入参数声明 再在main中将参数传递给他就好了 要是希望改动p内的值可以使用指针传递方式
追问
dll是MFC写的,没有insert函数,怎么弄?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiwending2008
2011-11-01 · TA获得超过102个赞
知道答主
回答量:115
采纳率:0%
帮助的人:142万
展开全部
ex: 在dll 中声明:
typedef struct _point_
{
int x;
int y;
}POINT11;
__declspec(dllexport) POINT11 g_point;

在.exe文件中:
__declspec(dllimport) POINT11 g_point;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dong364
2011-11-01
知道答主
回答量:25
采纳率:0%
帮助的人:13.3万
展开全部
前加_declspec(dllimport),跟导出函数一样,不过在.h文件中extern这个全局变量就可以了
extern _declspec(dllimport) xx;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式