EE_DSnP 板


LINE

: 我想请问 我现在假如在aig这个file里面放两个档案 aiger.h aiger.c : 然後我想要在cir这个file 的 cirInterface.cpp里面去用 aiger.h 里面的函式或struct : : 那我大概这样写: : : extern "C"{ : struct aiger;//这是我想用的struct : const char *aiger_open_and_read_from_file(aiger *, const char *); : //这是我想用的函式 : } : : int : aigToCir (const char *fileName) : { : aiger * aigerPtr = new aiger; : aiger_open_and_read_from_file(aigerPtr, fileName);//我想用这个aiger去吃 : ...... : } 这个作业的目的之ㄧ就是要考验大家对於 variable/class/function "declare", "define", "instantiate" 与 "operate" 的观念. 题目规定不可以在 cir 中 include "aiger.h", 所以你不可能让 cir 的 function "看见" aiger.h 里面 struct 的定义, 比方说 "struct aiger". 所以上面这行: aiger * aigerPtr = new aiger; 当然是会 compile 不过! (观念: 必须在目前的 scope 里面看得到 struct aiger 的定义才可以 instantiate struct aiger 的物件, 不管是 "aiger aigObj" or "aiger *aigerPtr = new aiger".) 所以: (考验) aigerPtr 要在哪里 instantiate 呢? 此外, 在 cir 里面既然看不到 struct aiger, 也不能宣告 aiger 的物件, (想一想) cir 的 function 里面可以看的到 aiger* 的变数吗? 可以将 aiger* 的变数当做 function call 的参数吗? 可以直接 operate on aiger* 的变数吗? (Hint: 上面的三个问题有两个 yes, 一个 no) 所以, (关键) 在 cir 里面要如何"拿到" aiger* vaiable 里的东西(比方说 number of PIs)? 要如何才能操作 aiger* 的 variable 呢? : : 我想请问 : 在不改cir 和 aig 这两个file的makefile的情况下 : cir 可以看到aig 这个file的 .h .c档 然後extern 可以抓到我要的东西吗? : 我发现似乎是不行...它好像看不到放在aig资料夹的.c .h档 ... 不行的. : : 请问该如何解决呢? 还是我的想法&用法根本就是错的orz.. 你可以考虑在 aig package 里加入一些 "interface functions", 让 cir 可以不用 透过 include "aiger.h" 也能对 aiger* 的物件进行操作... (说得太明了...) :



※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 219.68.89.39 : 推 trancewu:因为Makefile中的"EXTHDRS"不可以改,所以找不到aiger.h 05/31 17:15 没错! : → battlecruise:那位什麽呼叫aiger.h的 function 是ok的? 05/31 17:40 要用 extern "C" 吧!? "extern" 的意义就是告诉 compiler 在 compile 目前这个档案时若有一些 function 的定义找不到没有关系, 因为它是定义在 "external" 的档案里. 重点是 linking 时要将这些 undefined 的 symbol 全部都 resolve 掉, 否则你就会看到 "xxxx undefined" 这样的 linking error... : 推 bnsblue:不知道能不能把aiger.h link放在include里面.. 05/31 19:17 : → bnsblue:这应该没有禁止? 05/31 19:17 这个是禁止的!! : 推 bnsblue:阿歹势我好像搞错问题了!? 05/31 19:27 : → battlecruise:啊 所以好像有些动作必须要在aig.h做... y 05/31 19:56 : → battlecruise:更正 aig 的资料夹 05/31 19:56 是的, 请见 1300 篇的规定!! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.121.132.98 ※ 编辑: ric2k1 来自: 59.121.132.98 (05/31 21:30)
1F:推 trancewu:为什麽我觉得三个都是NO...orz 05/31 22:25
2F:→ ric2k1:Hint: extern aiger*...? 05/31 22:28
3F:推 battlecruise:太感谢了!!! 06/01 01:36
4F:推 trancewu:可是不是没有include aiger.h,所以不知道aiger的内容 06/01 02:30
5F:→ trancewu:这样还可以用pointer去使用aiger里的物件吗@@ 06/01 02:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP