图形界面编程成就了C++

图形界面编程成就了C++

听有人说C#、VB比C++好是因为做界面方便还算傻得可爱,听有人说用C++做数值计算而不屑于做界面可就对不起咱C++的恩人了。这我可要说道说道。

想当年C++刚出江湖,名门出身,自立门派,想抢Objective C老大的位置割据一方。但名门出身的混混也还是混混,论OO不够Objective C或SmallTalk的水准,论效率没有C的干净利索,结果折腾半天没人看得起。时至今日,*nix法老们还在坚持用C。

但世事难料,界面图形化之后,大虾小虾们都深感界面功夫之难,是时VB横空出世,威震四方。C教各界大为不满,怎能让一介小虾夺了"The one true programming language"的风头。于是强烈要求微软在Microsoft C里提供类似VB的功能。当时Microsoft C/C++还不成气候,比起Turbo C来简直是一坨。微软怎么能错过这么好的机会呢。不过也巧,微软手头还真有这么个差不多的东西,就是顶顶大名的MFC的前身AFX。

起初AFX这个东西是想利用C++的OO特性来简化Windows界面编程,他们甚至设计了一套完整的OO的窗口系统,但交给其他部门试用后被批评得一塌糊涂。有鉴于开发人员更中意C的API,AFX被彻底重做,成了Win API的简单包装,并改名成MFC,于是有了Visual C++。之后微软在IDE上做了大量工作,模拟VB的界面设计功能,于是推出了Visual C+&
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
图形界面开发中使用Socket编程可以实现网络通信功能,使得不同的程序可以在不同的计算机之间进行数据交换和通信。下面以C语言为例,介绍一个图形界面开发中Socket编程的实例。 1. 首先,需要引入相应的头文件和库文件: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> 2. 初始化Socket服务器: int sockfd; struct sockaddr_in serverAddr; sockfd = socket(AF_INET, SOCK_STREAM, 0); memset(&serverAddr, 0, sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); serverAddr.sin_port = htons(8888); bind(sockfd, (struct sockaddr*)&serverAddr, sizeof(serverAddr)); listen(sockfd, 10); 3. 创建图形界面,并编写相应的事件处理函数,如发送按钮点击事件处理函数: void sendButtonClicked() { char message[1024]; // 获取需要发送的数据 // ... // 创建Socket客户端 int clientSocket; struct sockaddr_in serverAddr; clientSocket = socket(AF_INET, SOCK_STREAM, 0); memset(&serverAddr, 0, sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务器IP地址 serverAddr.sin_port = htons(8888); // 连接服务器 if (connect(clientSocket, (struct sockaddr*)&serverAddr, sizeof(serverAddr)) == -1) { perror("Connect failed\n"); exit(1); } // 发送数据 send(clientSocket, message, strlen(message), 0); // 关闭Socket close(clientSocket); } 4. 在主函数中创建图形界面窗口,并注册按钮点击事件处理函数: int main() { // 创建图形界面窗口 // ... // 创建发送按钮 // ... // 注册按钮点击事件处理函数 // ... // 运行图形界面循环 // ... return 0; } 通过以上步骤,我们可以实现一个基于图形界面的Socket编程示例,其中包括了初始化Socket服务器、创建图形界面窗口、处理按钮点击事件等关键步骤。用户可以在图形界面上输入要发送的数据,并通过点击发送按钮将数据发送到指定的服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值