java 板


LINE

Eclipse 基本上可以说是一个Micro Kernal的Container。 它的每个模组的生命周期,载入、启动、执行、关闭、卸载都是由Container在管, 而目前的Container的实做基本上是依据OSGI的规范。 (问一下qrtt1拉,我都快忘光光了) 你把所有的source copy到一个地方,然後就呼叫下去,希望他会动。 这就跟爱德华、阿尔冯斯两兄弟根据他们娘的体重凑齐原料就想要搞禁断的人体链成 一样。 还好程式码没有生命,不会给你搞出Homunculus趴趴走,只会报错而已。 ※ 引述《ntouckcm (莉)》之铭言: : 原本Plug-ins会产生一个runtime-New_configuration资料夹,里面会产生设定好的 : .metadata资料夹 和 project 资料夹(也就是metadata area 和 data area) : 我的想法是 : 以上的资料都先自动产生 ,然後 把要parse的c/c++程式档 自动放在project里 : 在电脑上的位置 去parse : public static IFile execute(){ : IWorkspace ws = ResourcesPlugin.getWorkspace(); : IProject[] ps = ws.getRoot().getProjects(); : IFile ifile = null; : for(int i=0;i<ps.length;i++){ : IProject p = ps[i]; //runtime-New_configuration底下的资料夹名称 : IPath location = p.getLocation(); : ifile = p.getFile("SampleApp.bbcc"); //filename : } : return ifile; : } : public static void main(String[] args) { : IFile inputFile=execute(); : ...................... : if (CoreModel.isTranslationUnit(inputFile)) { : ....... : } : } : 但是出现一个问题 : Exception in thread "main" java.lang.IllegalStateException: : Workspace is closed. : at org.eclipse.core.resources.ResourcesPlugin. : getWorkspace(ResourcesPlugin.java:340) : at org.dworks.bbcdt.ui.action.main.execute(main.java:25) : at org.dworks.bbcdt.ui.action.main.main(main.java:50) : 上网查了一下 : 好像 一定要run 插件 : You have to run it from a run-time Eclipse/RCP application, :   and do the work in one of the Eclipse-supported methods. : 这行才能work   IWorkspace ws = ResourcesPlugin.getWorkspace();  : 我的问题是  :  不能指定绝对路径 去parse吗? :  EX:E:\\progSrc\runtime-New_configuration\project\file_name.bbcc 吗? : -------------------------------------------------------------------------- : public IFile execute(){ : 和以上相同.... : ifile = p.getFile("SampleApp.bbcc"); : ......... : } : public void run(IAction action) { : ...........以上相同 : } : 这样可以不用在new 新的project和建新的file  : 把file放在runtime-New_configuration然後指定档名,就可以parse。 : 但是目标是可以从main开启  : 这只是我的想法~请大大帮我看~ 有甚麽问题~~ : 有没有甚麽方法可以解决目前的问题,或者此路根本行不通,或者有别的看法~~ : 给我些建议或指引!! : 谢谢大家!! 此路不通拉。 你最先要做的,是将你的需求明确的条列出来,根据你的需求建立起你的东西到时候 要满足的条件列表。 像这种类似把体细胞移植到受精卵里根本就是在制造桃丽羊的手术(误),你很难确定 程式码里头是否潜藏着你不晓得的机制。所以你切割出来的区块越小、你对切出来的 部份的程式码掌握度越高,你就越有可能成功。 可行的作法是: 创建一个Eclipse Plugin Project 在一个完全没有CDT的开发环境里。 然後把CDT的设定还有原始码给丢进去,Eclipse一定会报一堆错,那就观察总共有哪些 CDT需要依赖的Plugin,然後CDT怎麽依赖他们。 尝试手动的把所有需要满足的资源给找齐,检验一下CDT是不是还跑得起来。 这步很重要,除非你一直有在确保CDT可以动、可以生成你要的ASTree,你才能开始把 你不需要得部份砍掉或置换掉。不然你作到後来才发现CDT里面的机制已经死掉了, 那也是白搭。 不要一开始就闷着头跳下去改程式,先分析总结一下总共有哪些Framework是CDT的 ASTree 生成需要依赖的,你得先建立清楚的系统模型,搞懂生命周期,才能尝试将 他们分离开来。 接下来是最重要的: 将你觉得最小的CDT程式码集合给拔出来,你之前功课做的有多足、经验值有多少, 你这一步成功的机率就有多少。 不管如何,你一定会发现你常常缺了胳膊少了腿,到时候你得清楚记得你是从哪边把 这个部份切出来的,而此时你有两种选择: 1. 去原本的地方挖程式贴过来。 优点:这是之前确实会动得东西,别人跑过测过。 缺点:贴程式码过来最可能发生的就是连一拉一,拉一颗蕃薯结果整座田都 在动。 2. 建立起你的机制,将原先CDT所依赖的Eclipse 底层给偷梁换柱。 优点:自己写得东西,自己当然清楚。 缺点:费工、而且你不晓得你的实做是否符合API当初开的规格。 (写Eclipse Plugin的人,不知为啥,都是不喜欢写文件跟注解的。) 这一步是动最大的,你将有很长的时间不能给他跑下去确定对不对,你只能Dive & Digg 然後祈祷。 最後,你应该要想一下,你或你老板当初对这玩意的估计是不是太过乐观。 我是曾经干过这种事情的人(ZK Studio我开发了一年),我想我的建议多少有点价值。 而我能跟你说的是,你需要至少两个月的焚膏继晷与好运。 Good Luck -- 我所信仰的科学是一种谦卑的理性,承认自身的无知与渺小才能观察到世界在我们贫 弱的知觉上留下来的痕迹。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.194.139.116
1F:→ zanyking:喔,对了,我估时程一向是无可救药的乐观的。 04/16 00:21
2F:→ kene:原po让我回想起了我的硕班生活 orz 拆解 eclipse 真的很累 04/16 00:27
3F:推 PsMonkey:这篇都不知道该不该 m,m 了也不知道要放哪里 XDXD 04/16 00:47
4F:推 AmosYang:"拉一颗蕃薯结果整座田都在动。" 说的好! XD 04/16 01:32
5F:推 sw12:m了放在eclipse.... 04/16 02:27
6F:→ qrtt1:俺一定是看到了控制码 (晕) 04/16 08:04
7F:推 ntouckcm:Orz........... 04/16 08:17
8F:推 ntouckcm:谢谢大大^o^ 04/16 17:12







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灯, 水草

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

TOP