C/C++ 传递信息给Java
#开始
今天有人问我C++怎么给Java传递消息
大概需求是 用C++写了一个窗口 需要把编辑框里面的东西传递给Java做处理
#解决过程
我现在能想到的有三个简单的方法
1. Socket编程 通过网络编程跨进程,优点是建立链接之后可以多次传递,缺点是实现代码可能有点多
2. 通过调用命令行 优点是代码简单,缺点是不能多次传递数据
3. C++写文件,java读文件 效果折中
~4.似乎管道可以跨语言
因为现在的问题是只需要传递一个编辑框的内容 所以,采用第二种方法
#思路
C/C++可以通过包含windows.h头文件 使用system();函数调用命令行命令(cmd命令),java的jar包可以通过 java -jar [包名].jar 的方式运行jar文件
#代码
C:
1 #include<windows.h> 2 #include<stdio.h> 3 #include<conio.h> 4 5 void main() 6 { 7 char cmd[1024]="java -jar pack.jar "; 8 char Array[512]; 9 printf("输入参数:"); 10 scanf_s("%s",Array,512); 11 strcat_s(cmd,Array); 12 system(cmd); 13 _getch(); 14 }
java:
1 package 参数测试; 2 3 public class mainClass { 4 5 public static void main(String[] args) { 6 System.out.println("参数数目: "+args.length); 7 for(int i=0;i<args.length;i++) 8 { 9 System.out.println(args[0]); 10 } 11 } 12 13 }
在java环境配置好的情况下,把C程序和jar放一块儿 运行C程序
#备注
有问题评论区留言哦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库