如何在Linux下实现Java调用C语言编写的程序
我在Linux下有一个已经用C语言写好,并编译生成的可执行的加密程序。现在我想在java程序中调用这个C程序。我现在是这样做的:
用一个shell脚本运行这个加密程序,Java程序则负责调用shell脚本。
Process rt = Runtime.getRuntime().exec("sh /opt/crypt");
shell脚本在终端里可以运行,但是写在java程序里就不能运行了。
请问,该怎么实现呢?
--------------------编程问答-------------------- 不要格成3道程序,不麻烦吗?你把c程序编译成.so。然后用JNA(java)去调用.so库 --------------------编程问答-------------------- 那是不是java里面不能这么调用shell吗? 我调用类似于“mkdir ”之类的shell 就能执行。 --------------------编程问答--------------------
就是这样干,用native --------------------编程问答-------------------- 可以执行shell,好像是shell不能有stdin,stdout,stderr.
补充:Java , Java SE