我在Mac上的eclipse开发Java,怎么把以前的C++代码嵌入到Java工程里面来?

 我来答
星枫紫艼
2013-06-01
知道答主
回答量:10
采纳率:0%
帮助的人:5.9万
展开全部

  想在Java里面嵌入C++恐怕不行,只能同时运行java和C++程序,让他们通信。一种方式是一个程序写文件读文件,还有一种是获取终端输入输出:


命令行参数的方式:

  1. public void runcmd2() {

  2. // 新添加的子进程名可以在下面修改,子进程的默认路径在自己所建立的工程下

  3. String cmd = "\"process.exe\"";

  4. //该程序用c语言写的,


  5. try {

  6.  Process p = Runtime.getRuntime().exec(cmd);//打开cmd进程

  7. inp = new BufferedReader(new InputStreamReader(p.getInputStream()));

  8. //获取cmd进程的输出

  9. out = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

  10. //获取cmd进程的输入

  11. /*如果你先有输出再有输入,你需要把下面的输入函数与输出函数调换*/

  12. out.write("4\n");//输入函数,表示你向cmd进程输入了一个整数4;

  13. out.flush();

  14. String buff = new String();

  15. buff = inp.readLine();//输出函数,使cmd的输出在java控制台中

  16. while (buff != null) {//逐行获取输出内容

  17. System.out.println(buff);

  18. buff = inp.readLine();

  19. }

  20. inp.close();

  21. out.close();

  22. }


直接通过标准输入:


  1. String cmd = "\"project1.exe\"";

  2. //该程序用c语言写的,大家可以在test0里面看到源码

  3. String arg = a;//传进来的参数赋给arg

  4. String str1[] = { cmd, arg };


  5. try {

  6. //当Runtime.getRuntime().exec(str1)里面传的参数是个String数组时

  7. //,第一个是进程名,后面的是cmd(如果你有c语言写的,

  8. //那就是c语言要接受的输入参数),进程要接受的参数

  9. Process p = Runtime.getRuntime().exec(str1);

  10. //打开cmd进程,并且传参数str1[1]...str1[str1.length()-1];

  11. inp = new BufferedReader(new InputStreamReader(p.getInputStream()));

  12. //获取cmd进程的输出

  13. out = new BufferedWriter(

  14. new OutputStreamWriter(p.getOutputStream()));

  15. //获取cmd进程的输入


  16. String buff = new String();

  17. buff = inp.readLine();//输出函数,使cmd的输出在java控制台中

  18. while (buff != null) {//逐行获取输出内容

  19. System.out.println(buff);

  20. buff = inp.readLine();


  21. }

  22. inp.close();

  23. out.close();

  24. }

追问
谢谢!
我是原来C++的程序写好了,现在想用Java做一个GUI,看来很复杂的样子
d13g1d5gsf
2013-06-01 · TA获得超过548个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:210万
展开全部
C++和java是两种截然不同的语言,怎么嵌入啊?不过你可以让他们相互通信,做一个信息传递即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式