- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 LINUX下C语言读取网卡IP
是您想要获取IP地址的网卡名称。在不同的Linux系统中,网卡的名称可能不同(例如,可能是。这个程序首先创建了一个UDP套接字,并绑定到任何可用的IP地址和端口上。函数获取套接字的本地地址,这个地址就是当前使用的IP地址。此外,某些系统可能需要root权限来执行此操作。函数将IP地址从二进制格式转换为可读的字符串格式。请注意,这个程序假设。
2024-08-17 18:34:45
155
原创 C++适配windows和linux下网络编程TCP简单案例
TCP/IP(Transmission Control Protocol/Internet Protocol)协议是互联网的基础协议,包括了TCP(传输控制协议)和IP(互联网协议)等。TCP/IP协议族定义了网络中数据传输的规则,包括了数据包的封装、路由选择、数据传输、错误检测和校正等。
2024-08-17 18:20:45
559
原创 64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。
64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。
2024-05-31 21:41:54
300
原创 qt进阶2:windows下可执行程序崩溃生成dmp,定位崩溃问题。
qt编译的可执行程序在windows下崩溃可生成dmp文件,用于调试定位崩溃原因。
2024-04-11 21:33:25
751
原创 qt调试日志文件生成
qt有固定的调试日志接口,可以通过终端去打印,但是仅适用在本地去调试,例如想长期放到测试台去检测, 可以采用生成日志文件的方式去监测.关键字:日志文件。
2024-04-08 22:17:09
502
原创 C++封装、继承(单继承)、多态详细分析。
多态性特征是 C++中最为重要的一个特征,熟练使用多态是学好 C++的关键,而理解多态的实现机制及实现过程则是熟练使用多态的关键。文章在分析多态性基本属性的基础上,结合具体程序实例重点分析了动态多态的实现机制,并结合虚函数和编原理分析了动态多态的实现过程。关键词:C++;多态性;虚函数多态性作为面向对象程序设计语言的 3 大要素之一,因其灵活性、伸缩性和复杂性而难以掌握。
2023-12-09 11:27:34
151
原创 C++智能指针的使用:shared_ptr、weak_ptr、unique_ptr的使用,使用案例说明。
C/C++ 为了实现对内存的细粒度的操作,没有设计垃圾收集器。因此,使用 C/C++ 编写项目时,开发人员需要格外注意内存的申请和释放。本文介绍了shared_ptr和weak_ptr源码,分析了它们对内存泄漏的检测方式,并指出它们所存在的不足。希望读者可以通过改进指针算法或 share_ptr 来规避内存泄漏,尽量不要写出连检测算法也无法处理的代码结构。提示:以下是本篇文章正文内容,下面案例可供参考weak_ptr是一种用于解决shared_ptr相互引用时产生死锁问题的智能指针。
2023-11-10 20:24:54
309
原创 回调函数的使用:案例一:c语言简单信号与槽机制。
了解回调函数的基本概念,函数指针的使用、简单信号与槽的实现机制;回调函数和普通函数的区别;函数指针的使用信号与槽的机制。
2023-07-26 16:54:45
430
1
原创 Linux下使用C语言实现进程间的通讯-消息队列
参考网上资源:https://www.bookstack.cn/read/linuxapi/docs-msgsnd-msgrcv.md该类型需要自己在编程时定义,用于存储消息的内容。下面给出一个范例,注意,里面的名称随意。消息类型必须要有,且不为0long mtype;//消息类型 char mtext [ 1 ];//数组大小编程时自己指定 };用于linux下进程间的通讯;了解在linux下使用命令创建、查看、删除消息队列,并修改其属性;使用c代码实现消息队列的创建等。
2023-07-06 22:37:56
568
原创 c语言全局变量(extern)和静态全局变量(static)的使用、拓展作用域(全局、局部等)
c、c++基本知识点:作用域、全局变量(extern)、局部变量等
2023-06-12 20:19:27
11349
原创 C++11多线程:windows临界区和Linux互斥锁、递归锁的区别与使用。
多线程windows临界区和Linux互斥锁提示:以下是本篇文章正文内容,下面案例可供参考(1)了解windows临界区;(2)了解linux递归锁和互斥锁;(3)了解基本函数的使用。
2023-05-14 20:22:13
1089
1
原创 C++11多线程:std::thread创建线程和std::async创建异步任务的区别,std::async创建异步任务后没有被推迟执行。
(1) thread创建新的线程;(2) async创建新的异步任务;有没有创建新线程立即执行还是延迟(没创建新线程)执行(3)std::thread和std::async的区别;(1)std::async的强制创建异步任务()与std::thread创建线程相似,容易系统崩溃。(2)std::async不带参数的创建异步任务,不会造成系统崩溃。
2023-05-06 20:40:40
1279
原创 C++11多线程:原子操作std::automic-用于多个线程之间共享的变量。
原子操作std::automic的基本概念和用法。了解std::automic的基本概念和使用;了解与互斥量的区别;什么是原子操作?
2023-04-12 21:31:27
4097
原创 C++11多线程:std::shared_future:也是个类模板,get()函数复制数据
std::shared_future:也是个类模板,get()函数复制数据了解std::shared_future的用法。持续更新中…
2023-04-06 21:53:00
368
原创 C++11多线程:std::future的其他成员函数:wait_for(等待一定的时间)。
std::future的其他成员函数:std::future的用法:参考连接(1)get()函数转移数据;(2)wait_for(等待一定的时间)。持续更新中。了解wait_for(等待一定的时间)的使用;持续更新中…
2023-04-05 20:26:56
3717
原创 C++11多线程:std::packaged_task基本使用-打包任务,包装任务;std::promise的类模板使用。
语言:c++11(1)std:packaged_task:通过std::packaged_task 来把各种可调用对象包装起来,方便将来作为线程入口函数来调用。;(2)std::promise:我们能够在某个线程中给它赋值,然后我们可以在其他线程中,把这个取值出来用。(3)代码案例。std::packaged_task:打包任务,把任务包装起来。(1)是个类模板,它的模板参数是 各种可调用对象;通过std::packaged_task 来把各种可调用对象包装起来,方便将来作为。
2023-03-26 10:40:42
1410
原创 C++11多线程:如何启动一个“异步任务”,并介绍std::async、std::future函数使用。
语言:C++11;介绍(1)什么是多线程异步任务?(2)介绍std::async、std::future函数使用;(3)编写完整的代码案例并附截图。std::async、std::future创建后台并返回值(1)了解多线程异步任务;(2)了解线程同步和线程异步的区别;(3)如何创建一个“异步任务”?(4)C++11 中std::async、std::future函数使用,以及get()函数的使用。持续更新中…
2023-03-21 20:03:17
965
原创 C++11多线程:condition_variable、wait()、notify_one()、notify_all()的使用。
C++11多线程,wait()和notify()的使用。c++11多线程之condition_variable、wait()、notify_one()、notify_all()的使用。(1)了解wait()的使用(对锁 的影响),以及第二参数有无的区别;(2)condition_variable、wait()、notify_one()或notify_all()如何配合工作。(3)理解如何处理线程之间的交互联系?
2023-03-11 18:24:16
3372
原创 C++11多线程:单例设计模式共享数据问题分析、解决(c++11)设计多线程。
单例设计模式共享数据问题分析、解决(c++11)设计多线程,本文简单介绍什么是设计模式-单例模式,并采用c++11的语言方式,创建了单例类,采用多线程的方式对问题进行分析和解决。
2023-03-05 18:44:36
636
原创 qt-c++进阶1-window、linux下获取本机所有网卡ip信息、根据网卡名获取ip地址。
总结c++获取本机网卡信息的方法第一章:适用于windows操作系统、linux操作系统用解析获取本机IPV4地址;用解析获取所有网关信息(IP地址(IPV4和IPV6)子网掩码广播地址持续更新中…这里只是以qt-c++总结出获取网卡信息的方法,后续会总结出c、c++获取网卡ip信息的多种方法,持续更新中…
2023-02-27 21:16:00
2366
1
原创 windows下qt设置网卡ip信息+简单案列(图形化界面设置网卡IP)。
方法1:QProcess修改网卡ip信息;方法2:system修改ip信息;后续持续更新…
2023-02-12 08:00:58
1677
原创 windows和linux(centos、Ubuntu)下设置时区的方法、不同格式u盘在不同时区对文件修改时间的影响、时区时间查看
本章主要内容:1.windows和linux下如何设置时区;2.linux下几种修改时区的方法;3.etc/localtime与etc/timetone的区别;54不同格式u盘在不同时区对文件修改时间的影响;持续更新中…
2023-02-07 08:54:56
2408
2
原创 qt跨平台的编程注意事项1-linux下qt编译出现undefined reference to错误
1 linux下qt编译出现undefined reference to错误**1.1 前提条件:**1. 在一个test1.cpp里面调用test2.cpp里面的一个实现函数;2. 这个函数是`extern` 声明的;3. 已经在test1.cpp加入test2.h头文件,并且F2能进入到此函数> test2.cpp、test2.h,不是一个class类,只是单纯的一个声明定义函数,一个实现函数。**1.2 bug:**windows下能够编译通过linux下编译出现undefine
2023-01-28 17:49:11
1560
原创 linux下修改网卡信息(网卡名、IP、子网掩码、网关)
linux下修改网卡信息(网卡ip、网关、子网掩码、网卡名)这里编译生成的可执行文件需要以root权限运行才能去修改网卡信息。
2023-01-28 17:40:49
1429
原创 C/C++知识点:静态数据初始化、动态内存数据初始化、new和delete的正确使用、mement初始化数组和结构体-静态内存数据。
C++知识点:静态数据初始化:基本变量、数组、字符串数组、类数组等动态内存数据初始化、new和delete的正确使用、mement初始化数组和结构体-静态内存数据。
2023-01-28 17:32:12
750
原创 windows下qt使用第三方库(静态链接库lib)、静态库和动态库区别、动态库的使用。
windows下qt使用第三方库(静态链接库lib)。为了能够使测试更准确,首先自己用qt创建了一个已经封装好的lib库。然后让另一个项目去链接这个lib静态库,并且去调用里面的方法。把第三方lib库、头文件,放到指定的路径中(我这里是全部放到了untitle项目的include目录下),要保证untitled项目能够找到lib库和头文件。
2022-12-28 20:09:51
9795
原创 C、C++读取数据文件DAT(二进制文件)
通过网上大佬的笔记总结本篇文章,并编译运行,后续会总结出多种读取二进制文件。(1)头文件(2)FILEFILE 是 头文件中的一个结构体,它专门用来保存文件信息。(3)fopen// filename -- 为文件名(包括文件路径). // mode -- 为打开方式,它们都是字符串。// 返回值 -- fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信息保存到一个 FILE 类型的结构体变量中,然后将该变量的地址返回。;
2022-12-21 11:14:51
21896
原创 svn基本教程原版链接和常见使用错误解决方案、update、clean up 不成功等问题
svn基本教程原版链接和使用错误解决方按、链接,尝试可行因为自己在使用svn犯了很多小错误,在网上找了很对解决方案,很多都与自己的问题不对照,浪费了大量的精力去找解决方案。本文把,还有一些可靠的svn使用中列出,并持续更新。https://svnbucket.com/posts/目前只遇到两种update不成功案例,如果遇到新的问题,会继续更新。有时候在本地库去最新版本的时候,出现,说之前的问题没有解决(例如冲突文件),又说让我们先去 一下。
2022-12-01 22:19:39
1318
原创 C++多线程和并发-更新(死锁的产生、几种互斥量上锁的方法(lock()、lock_guard、unique_lock))-2023/2/26
C++多线程和并发-更新(进程与线程的概念、join、detach的使用、创建线程的方法)-2022/11/27提示:以下是本篇文章正文内容程序运行起来,生成一个进程,该进程所属的主线程开始自动运行;实际上这个是主线程在运行,主线程从main()函数返回,则整个进程执行完毕。
2022-11-27 22:40:23
770
原创 虚拟机网络适配器下的3种网络模式(主机模式、桥接模式和NAT模式)
虚拟机网络适配器下的三种网络模式(桥段模式、NAT模式、主机模式),了解ip、子网掩码、网络分段、同一网段、网关;NAT模式下进行访问外网,怎样进行设置。
2022-10-29 10:24:36
4476
原创 java网络编程-tcp和udp的使用-TCP聊天和UDP文件上传与下载
文章目录前言一、网络和网络协议1.简单例子来形容网络编程2.网络编程目的:3.OSI七大网络模型和四层概念模型二、IP和端口Port1.IP(InelAddress)2.ip的值的分类2.端口Port三、通信协议TCP(用户传输协议)UDP(用户数据报协议)四、通过url下载文件总结前言提示:本文章问题:什么是网络?何为网络协议?IP和端口是干嘛的?TCP和UDP协议、URL能干嘛?如何通过Java写聊天程序,如何下载网络资源什么是ip和端口号以及它们有什么用(电脑是通过什么来识别另一台电
2022-10-23 11:10:13
900
原创 Qt-C++编程入门教程笔记-更新t-c++进阶1-获取本机网卡IP信息-2022/12/22
# 前言本笔记内容,通过自学总结得出。第一章:按钮控件常用的API以及如果通过qt帮助文档查找API(函数接口)、qt中对象树和坐标系的规定、重要的信号和槽以及如何自定义信号和槽、MainWindows的使用(菜单栏、工具栏)如何加载资源文件和一些对话框的创建(静态和非静态的)、页面布局和一些控件的使用介绍。第二章:qt事件,包括鼠标事件、定时器、还有过滤器的基本使用。第三章:qt绘画第四章:qt文件读写操作
2022-10-09 19:01:23
465
原创 linux下c++编译(g++)、cmake配置完结、配置json文件并调试项目、进程管理
系统要求:linux centos7编译器:g++调试器:gdb以及cmakeIDE:vscode可以通过命令去查看linux下是否安装:通过–version,这里简单举一个实例是否安装gdb调试器,出现如下图片所示证明已经安装例如:我们创建一个项目project1,里面需要创建子目录和,还有一个main函数。include:用来存放头文件(.h)src:用来存放源文件(.cpp)例图:查看tree ./main.cpp。...
2022-08-24 19:33:37
2256
原创 Linux下载KDE图形化界面、设置界面为中文、如何使用中文输入法、分析根目录下各个文件夹的用途。
Linux下载KDE图形化界面、设置界面为中文、如何使用中文输入法、分析根目录下各个文件夹的用途。
2022-08-04 21:55:49
5859
原创 Linux下安装vim、解决yum命令不能使用,解决虚拟机下不能联网的问题。
这里虚拟机VMware使用的是,系统使用的是,采用的,如图:百度网盘下载:链接:https://pan.baidu.com/s/1_9TN-eYfgG_tOBwoS1kMJw?pwd=1113提取码:1113–来自百度网盘超级会员V5的分享。
2022-08-04 20:28:27
4889
转载 C++中STL库中 list 的基本定义和基本使用函数汇总、以及对比其它容器的优缺点。
带着问题去思考:1.什么是序列式容器?2.list怎么使用,有哪些操作?简单的介绍一下C++中STL库序列式容器中的list的基本使用,以及温习一下序列式容器与关联式容器的区别。1. 序列式容器:所谓序列容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的数据,需要特殊说明的是,该类容器并不会自动对存储的元素按照值的大小进行排序。2. list 的基本定义:list(链表容器):是一个长度可变的、由 T 类型元素组成的序列,它以双向链表的形式组织元素,
2022-07-20 19:30:42
489
原创 设计模式-工厂模式简单版1.1(java版本)
用来生产同一等级结构中的任意产品(对于增加新的产品,需要扩展已有的代码)用来生产同一等级结构中的固定产品(支持增加新产品)围绕一个超级工厂创建其它工厂。该超级工厂又称为其它工厂的工厂。代码实现:1.简单工厂模式:创建Car接口:实现Car接口Baoma.java:实现Car接口woerwo.java:创建一个工厂FactoryCar.java:创建一个买车的消费者Consumer.java:2.工厂方法模式:创建一个Car接口:实现Car接口方法,baoma,java:实现Car接口方
2022-07-13 22:41:40
138
转载 C++ STL库的 Map的基本定义包括有优点、基本使用函数、什么是关联式容器,相比序列式容器的优点是什么。
基本概念:(1)作为关联式容器的一种,map容器存储的都是pair对象,也就是说pair类模板创建的键值对。其中,各个键值对和值可以是任意的数据类型:(2)map存储多个键值对时,该容器会自动根据各键值对的健大小,按照既定的规则进行排序(升序排序),也可以手动指定排序规则。map容器存储的各个键值对,健的值既不能重复也不能修改。(3)C++11标准中,还为map容器增添了移动构造函数,。当有临时的map对象作为参数,传递给要初始化的map容器时,此时就会调用移动构造函数。C++ map容器包含
2022-07-09 15:53:51
394
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人