- 博客(52)
- 收藏
- 关注
原创 qt连接达梦数据库
产品下载 | 达梦数据库 (dameng.com)产品下载-达梦数据 (dameng.com)下载里面有安装教程、可以根据教程走。
2024-05-06 16:47:37
925
2
原创 多态机制基类函数的调用
创建了一个 Manage 对象 m_manage,它会自动调用 Manage 类的构造函数。在构造函数中,会创建一个 Clib 对象,并将自身的指针传递给 Clib 对象的 setBase 函数。在 setBase 函数中,会调用 Manage 类中实现的 SetSData 函数,并输出参数值 10。
2024-04-15 14:22:51
228
原创 qt线程实用写法
3、lpStartAddress: 这是一个指向线程函数的指针,它是新线程要执行的函数的入口点。1、lpThreadAttributes: 这是一个指向 SECURITY_ATTRIBUTES 结构的指针,用于指定新线程的安全属性。6、lpThreadId: 这是一个指向接收新线程标识符的变量的指针。需要注意的是,在使用 CreateThread 创建线程后,应使用 CloseHandle 函数关闭线程句柄,以确保资源的正确释放。4、lpParameter: 这是一个指向传递给线程函数的参数的指针。
2023-12-04 16:30:30
967
原创 MobaXterm连接麒麟系统中遇到的问题
路径:file:///etc/ssh/sshd_config(可能要改下权限,chomd 777 sshd_config)2、安装SSH:sudo apt-get install openssh-server。192.168.80.129是麒麟的IP地址,kylin是麒麟的用户名。路径:设置->X11 (改x11远程访问、xorg版本)和下图对应即可。192.168.80.129是麒麟的IP地址,kylin是麒麟的用户名。3、 启动SSH:/etc/init.d/ssh start。
2023-11-23 16:13:52
881
原创 麒麟服务版一些指令
符号模式由权限操作符(+、-、=)和权限修饰符(r、w、x)组成。link=/dev/COM1: 这个选项指定了新创建的pty设备的名称和路径,这里是/dev/COM1。这表示要路由到的目标网络。enahisic2i0: 这可能是一个网络接口的名称,用于指定从哪个接口发送数据到目标网络。link=/dev/COM2: 指定新创建的设备的名称和路径,这里是/dev/COM2。echo=0: 这个选项关闭pty设备的回显功能,即输入的字符不会被自动发送回终端。-d -d: 这是socat的调试模式开启参数。
2023-11-21 13:54:23
334
原创 在麒麟v10 x86_64架构 下面安装qt并运行程序 遇到的一些问题
系统是麒麟V10 x86_64架构的, 虚拟机是Vmware,qt版本是5.12.7的版本。(麒麟v10 arm架构需要用qt源码编译 需要在学习一下 再看怎样编译)
2023-07-12 16:01:36
3485
原创 qt麒麟系统下载链接
https://download.qt.io/archive/qt/5.12/5.12.7/qt-opensource-linux-x64-5.12.7.runhttps://download.qt.io/archive/qt/5.12/5.12.7/single/qt-everywhere-src-5.12.7.tar.xz
2023-07-12 10:59:55
386
原创 QThread(moveToThread)
MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include "MyThread.h"#include <QThread>QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACEclass MainWindow : public QMainWindow{ Q_OB.
2021-11-18 01:08:12
396
原创 QThread(重写run函数)
MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include "Mythread.h"QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACEclass MainWindow : public QMainWindow{ Q_OBJECTpublic: Main...
2021-11-18 01:05:32
758
原创 网络编程 (传输层 -- TCP协议)
TCP通信:有连接的数据流传输协议。特点:可靠稳定,但速度慢,效率低,资源消耗大。(点到点)应用场合:浏览器,文件传输。本文借鉴点击查看网络编程 (传输层 -- TCP协议)TCP的三次握手和四次挥手:三次握手:1.client端向server端发送请求;2.server端收到请求,回复client端并分配资源;3.client端收到回复并分配资源。四次挥手:1.client端向server端发送中断请求;2.server端收到请求,如果还有数据没有传输完成,则回复client端ACK报.
2021-05-27 10:41:13
107
原创 网络编程 (传输层 -- UDP协议)
sockaddr结构体socket API是一层抽象的网络编程接口,适用于底层各种网络协议,IPv4、IPv6等,而每一种网络协议的地址格式并不相同。IPv4地址用sockaddr_in结构体表示,包括16位地址类型,16位端口号和32位IP地址。IPv4、IPv6的地址类型为AF_INET、AF_INET6,这样只要得到某种sockaddr结构体的首地址,不需要知道是具体哪种类型的sockade结构一条,就可以根据地址类型字段确定结构体中的内容。socket API中的参数都是struct so.
2021-05-27 10:40:56
304
1
原创 #c++类设计
#c++类设计:1,类的访问权限:成员和类的默认访问修饰符是私有的(private)public 共有的;(访问跟struct一样)private 私有的;是不可访问的,可以通过类和友元函数访问。protected 受保护的;保护成员和私有成员相似(可以通过类和友元函数访问),但是保护成员在派生类(即子类)可以访问。友元函数:友元可以是函数,可以是类;友元函数可以直接访问类的私有成员。注意:它是定义在类外的普通函数,它不属于任何类。(声明函数里面没有this指针)缺点:破坏了类的封装性
2021-05-27 10:35:10
216
原创 多线程计算质数
多线程计算质数:#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <pthread.h>#include <semaphore.h>#define LEFT 30000000#define RIGHT 30001000#define THRNUM 4int value = 0;
2021-05-27 10:34:06
1186
转载 进程相关题型
TCP通信:有连接的数据流传输协议。特点:可靠稳定,但速度慢,效率低,资源消耗大。(点到点)应用场合:浏览器,文件传输。TCP的三次握手和四次挥手:三次握手:1.client端向server端发送请求;2.server端收到请求,回复client端并分配资源;3.client端收到回复并分配资源。四次挥手:1.client端向server端发送中断请求;2.server端收到请求,如果还有数据没有传输完成,则回复client端ACK报文,client端进入等待状态;3.server端数据.
2021-05-27 10:31:35
114
原创 了解网络编程
OSI七层网络模型,TCP/IP四层概念模型 OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层 应用层 httpftptelnetsshstmppop3 表示层 会话层 传输层 传输层 tcpudp 网络层 网络层 ipicmpigmp 数据链路层 网络接口层 arprarpmpls 物理层 应用层{http超文本传输协议 ftp文件传输协议...
2021-05-27 10:28:05
127
原创 线程 介绍
线程与进程区别:线程是轻量级的进程,本质是进程;进程是最小分配资源单元,线程是最小的执行单元进程有独立的地址空间,拥有PCB;线程也有PCB,但没有独立的地址空间(共享内存)线程基本操作:获取线程编号:pthread_t pthread_self(void);线程创建函数:int pthread_create(pthread_t *thread(线程号的类型,不一定是整型),const pthread_attr_t *attr(线程属性), void *(*start_routine(启.
2021-05-25 14:18:20
149
原创 进程间通信
进程间通信的应用场景:数据传输,共享数据,通知事件,资源共享,进程控制同一主机进程间通信:unix进程间通信方式:有名管道,无名管道,信号。system V进程间通信方式和POSIX进程间通信方式有消息队列,共享内存,信号量。不同主机(网络)进程间通信:Socket无名管道:只能在具有血缘关系之间进程间使用#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include &l
2021-05-25 14:18:02
154
原创 进程 介绍
什么是进程:进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随这资源的分配和释放,可以认为时一个程序的一次执行过程。进程的五种状态:初始态,就绪态,运行态,挂起态,终止态。进程切换:分时操作系统中 是所有的进程通过时间片轮转的方式占用硬件资源。实时操作系统中 按照实际情况来优先级高的先用硬件资源。(vxwork ucos )区别:system() exec()都可以执行进程外的命令,system是在原进程上开辟一个新的进程,但是exec是用新的
2021-05-25 14:17:43
197
1
原创 了解posix文件操作2020-12-23
ls -l 查看文件属性 c字符设备 b块设备 d文件夹l链接文件chmod+ 777 +文件名 (八进制)unask 掩码dev 设备文件操作权限O_RDONLY(只读)O_WRONLY(只写)O_RDWR(读写)O_APPEND(追加)O_CREAT(创建一个文件)O_TRUNC(如果存在这个文件,则删除文件内容)#define STDIN_FILENO0标准输入#define STDOUT_FILENO1标准输出#define ...
2021-05-25 14:17:27
550
原创 posix文件操作相关操作2020-12-22
ls -l 文件属性 c字符设备 b块设备 d文件夹 l链接文件chmod + 777 +文件名 (八进制)unask 掩码dev 设备 读写方式 O_RDONLY O_WRONLY O_RDWR#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int main (){ file descript...
2021-05-25 14:17:15
209
原创 getline函数实现 2020-12-29
#include <stdio.h>#include <stdlib.h>#include <string.h>int mygetline(char **lineptr, int *n, FILE *fp){ if(*lineptr == NULL) { *lineptr = (char *)malloc(10); *n += 10; } char c = 0; int count = 0; while((c = fgetc(fp)) !=.
2021-05-25 14:16:19
424
原创 c语言 双链表封装 (无头链表)2020-12-15
//头文件//#pragma once#ifndef HH_H#define HH_H#include <stdio.h>struct node{ struct node *next, *prev;};//h 结构体类型 list#define container_of(ptr, type, member) \(type *)((char *)ptr - ( (unsigned int)&( (type *)0 )->member ) )//.
2021-05-25 14:15:40
204
1
原创 c语言 单链表(无头链表)判断有无环2020-12-11
#include <stdio.h>#include <stdlib.h>struct node { int hao; int val; int data; struct node *next;};void showlist(struct node *head){ printf("========open=======\n"); while(head) { sleep(1); printf("编号 %d head->val %d\n",.
2021-05-25 14:15:26
137
原创 c语言 单链表 (有头链表)2020-12-10
#include <stdio.h>#include <stdlib.h>struct node{ int val; int hao; struct node *next;};void destory(struct node *h){ struct node *p = NULL; while(h) { p = h->next; free(h); h = NULL; h = p; }}void Destory(struct n.
2021-05-25 14:15:10
164
原创 c语言 单链表 排序 删除 查找 (无头链表)2020-12-07
上面为完整元素,下面为删除元素#include <stdio.h>#include <stdlib.h>struct node{ int val; int hao; struct node *next;};void show_list(struct node *first){ printf("======open======\n"); while(first) { printf("编号 %d fi.
2021-05-25 14:14:45
159
原创 标准库文件操作2020-11-25
#include <stdio.h>//txt:abcdefint main (){ FILE *fp = fopen("txt", "r"); if(fp == NULL) { perror("open error\n"); return -1; } char p[10] = {0}; fread(p, 5, 2, fp); //每次读5个,读2遍, 在fp里面读,传给p printf("%s\n.
2021-05-07 14:29:08
97
原创 关键字和静态\动态库2020-11-25
auto 自动识别类型。register 寄存器变量。const 限定变量的值不能被改变。volatile 防止被优化。extern 表示变量或者函数的定义在别的文件中。static 静态全局变量。 有默认的初值。 只做一次初始化。 限定作用域(只能在本文使用) 生命周期:定义开始到整体的程序的结束。typedef 给已知类型换一个别名。#define(宏定义) 进行简单的替换(不会分配内存)(do{}while(0)头文件不用加分号)函数不能计算内存和存...
2021-05-07 14:28:36
108
原创 结构体的应用2020-11-12
#include <stdio.h>#include <string.h>#include <stdlib.h>#define NUM 4;struct stuednt{ char *name; int age; int score;};void initcls(struct student *p, char *data){ int i = 0; char *t = strtok(data, ",;") .
2021-05-07 14:28:20
171
原创 用c语言实现atoi
#include <stdio.h>int my_atoi(char *s){ if((*s < '0') || (*s > '9')) { return 0; }// int num = *s - '0';// return num + 10*my_atoi(s + 1); static int num = 0; num = num*10 + *s - 48; my_atoi(s + 1); return num;}int main(){ .
2021-05-07 14:27:39
115
1
原创 自己编程实现库函数strtok(字符串截断)2020-12-22
#include <stdio.h>int compare(char str, const char *delim){ while(*delim != '\0') { if(str == *delim) { return 1; } delim++; }}char *mystrtok(char *str, const char *delim){ static char *p = NULL; if(str == NULL) { str = p; .
2021-05-07 14:27:04
185
原创 用C语言实现Linux中的cp命令2020-12-03
#include <stdio.h>#include <string.h>int main (int argc, char** argv){ if(argc == 3) { FILE *pf1 = fopen(argv[1], "r"); if(fp1 == NULL) { perror("error \n"); return -1; } .
2021-05-07 14:26:26
281
原创 用C语言实现Linux中的cat命令2020-12-03
#include <stdio.h>int main(int argc, char** argv){ FILE *fp = fopen(argv[1], "r"); if(fp == NULL) { perror("error \n"); return -1; } int len = 0; //记录有多少个字符 char* line = NULL; size_t n = 0; while(g.
2021-05-07 14:26:05
367
1
原创 自己实现内存拷贝函数memcpy
#include <stdio.h>//#include <stdlib.h>void *my_memcpy(void *a, const void *b, size_t n){ while(n--) { *((char*)a + n) = *((char*)b + n); } return a;}int main (){ char str1 = {"hello"}; char str2 = {"abcd".
2021-05-07 14:25:09
429
1
原创 自己实现内存赋值函数memset 2020-10-21
#include <stdio.h>//#include <stdlib.h>void *my_memset(void *a, int b, size_t n){ char *t = (char*)a; while(n--) { t[n] = (char)b; } return a;}int main (){ char str1 = {"hello"}; printf("my memset %s\n.
2021-05-07 14:24:47
294
原创 自己编程实现库函数strcasecmp(字符串比较,忽略大小写)
#include <stdio.h>#include <assert.h>#include <string.h>//自己编程实现库函数strcasecmp(字符串比较,忽略大小写)char hu(char *A, char *B){ while(*A != '\0') { if(*A <= 'z' && *A >= 'A') { *A += 32; .
2021-05-07 14:23:59
660
1
MSVC调试器大大大大大大
2023-11-16
qemu 虚拟机 安装银河麒麟V10 arm架构系统
2023-07-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人