C++
水军总督
与你同在。
展开
-
无法解析的外部符号 “__declspec(dllimport) public:
VS里编译C++Qt程序时有时会出现题目中的错误,这时在项目上右键选择属性→配置属性→Qt Project Settings→Qt Modules那一项里加上缺少的模块名,如core,gui等,每个模块之间用英文的分号隔开。serialport;原创 2023-03-17 16:33:30 · 1025 阅读 · 2 评论 -
QCheckBox
.原创 2023-01-06 16:12:00 · 1299 阅读 · 0 评论 -
C++中的explicit详解
.原创 2022-12-14 16:00:20 · 169 阅读 · 0 评论 -
QT出现应用程序无法正常启动0xc000007b的错误
。原创 2022-07-23 11:25:22 · 7288 阅读 · 2 评论 -
什么是可重入(Reentrant)?
一、什么是重入?函数在执行时,由于外部原因或内部调用,又一次进入该函数执行。二、重入发生场景多个线程同时执行该函数函数自身调用自身三、什么是可重入在相同的输入下,函数每次被调用产生的结果相同。栗子:int add(int a, int b){ return a + b;}每次调用add(1, 2),得到的结果都是3.四、可重入的函数必须具备哪些特点不使用任何静态或全局的非const对象不返回任何静态或全局的非const对象的指针只依赖于调用方提供的参数不依赖任..转载 2022-05-21 09:31:09 · 456 阅读 · 0 评论 -
VS运行程序时弹出Console窗口
在左侧的项目名那里右键→属性→配置属性→链接器→系统→子系统→下拉框里选择“控制台(SUBSYSTEM:CONSOLE)”原创 2022-04-24 15:55:06 · 3104 阅读 · 0 评论 -
【填坑】Qt9+VS2015 创建项目出现 include报错无法找到头文件
链接原创 2022-01-11 15:25:14 · 2483 阅读 · 0 评论 -
Qt connect信号连接的几种写法
链接原创 2021-12-10 11:01:04 · 348 阅读 · 0 评论 -
WinDbg调试
链接1原创 2021-10-29 23:44:03 · 99 阅读 · 0 评论 -
Qt程序打包与发布
参考链接:链接1 链接2打开你的项目,选择release版本点击运行,就能生成项目的release版本的可执行程序了。到项目目录下找到该程序。如图所示:将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到D:\hellomw\ 文件夹里面。打开Qt的控制台,开始打包注意是Qt的控制台,不是dos界面哦!在打开的控制台里输入命令 :cd /d D:\hellomw然后使用 windeployqt 工具命令:windeployqt hellomw...原创 2021-10-19 09:04:41 · 451 阅读 · 0 评论 -
Qt 新建设计师界面类,并移至子目录
qt构建项目,为了便于管理,新建子目录。步骤:1.新建设计师界面类;2.在项目文件夹中,将新建的.cpp .h .ui文件移至新建子文件夹中;3.在qt中打开项目,加入已存在的文件;4.编辑.pro文件,看是否存在重复声明链接...原创 2021-10-15 09:26:45 · 649 阅读 · 0 评论 -
QThread和moveToThread()
链接原创 2021-10-14 17:27:17 · 196 阅读 · 0 评论 -
Qt窗口间信号发送和槽函数返回值
新建工程,Qt Widgets Application,类名为Widget。在这个基础上新建Qt设计师界面类,类名Dialog。widget.ui和dialog.ui里分别拉入一个QPushbutton,widget.ui里再拉入一个QLineEdit,QLineEdit里随便填个数字。想要获取槽函数的返回值,可以通过给信号加上参数的方式,参数是一个引用。Dialog里点击按钮发送信号,并打出参数的值。参数的值根据widget.ui里QLineEdit的值变化。这个参数即相当于槽函数的返回值原创 2021-10-12 18:03:26 · 3065 阅读 · 0 评论 -
Dependency Walker使用说明
链接原创 2021-08-20 15:27:15 · 1608 阅读 · 0 评论 -
Qt 软件发布与打包
链接原创 2021-08-19 18:08:46 · 102 阅读 · 0 评论 -
Windows下Vs2015配置Qt全解
Qt安装与配置找不到头文件的解决方法原创 2021-08-17 10:44:41 · 552 阅读 · 0 评论 -
Qt子类化QWidget后,使用setStyleSheet设置样式无效的解决方案
在子类重新实现paintEvent即可。C++:#include <QPainter>#include <QStyleOption>void paintEvent(QPaintEvent *e){ QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this)原创 2021-07-07 11:04:53 · 1513 阅读 · 0 评论 -
计算结构体和联合体的大小
链接原创 2021-05-17 02:02:54 · 119 阅读 · 0 评论 -
C++函数指针
void Task1(void){ printf("I'm Task1.\n");}void Task2(int a){ printf("I'm Task2. a = %d\n", a);}void Task3(int a, int b){ printf("I'm Task3. a = %d b = %d\n", a, b);}typedef void (*func)(void);typedef void (*func2)(int);typedef .原创 2021-05-12 01:02:21 · 84 阅读 · 0 评论 -
用C给python写module的步骤(入门)
顾名思义,就是用C语言编写核心代码,然后封装成PYTHON可以使用的形式,是比较常用的手段之一。不多废话需要文件如下:file1 - 包含C代码,以及封装样板代码的C文件file2 - setup.py文件,用于编译以及安装file1 -必须 #include “Python.h”//位置-如果装了anaconda则在 anaconda3/include里//默认在/usr/l...原创 2019-12-12 16:24:31 · 605 阅读 · 0 评论 -
友元(友元函数、友元类和友元成员函数) C++
链接原创 2019-12-07 16:40:26 · 140 阅读 · 0 评论 -
值得推荐的C/C++框架和库 (真的很强大)
链接值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/...转载 2019-10-28 11:07:17 · 583 阅读 · 0 评论 -
通过shell获取文件内容并返回给代码
FILE *pf = popen("/home/norco/wh7/WH7_TVM/bin/getEventNo.sh", "r");char res[10240];fread(res, 10240, 1, pf);printf("printf == %s\n", res);pclose(pf);getEventNo.sh:#!/bin/bashcat /proc/bu原创 2017-10-16 12:13:07 · 1563 阅读 · 0 评论 -
Qt用在线程类中用回调函数
KbMonitor .h:typedef void (*InputProcess)(int key, void *p);class KbMonitor : public QThread{public: void setCallBackProcess(InputProcess pf, void* pUser);private:InputPro原创 2017-11-01 19:14:25 · 2636 阅读 · 0 评论 -
C/C++ 判断文件夹是否存在以及创建、删除文件夹 windows以及linux通用
http://blog.csdn.net/tigerjibo/article/details/11712039http://baike.baidu.com/subview/355/5900599.htmhttp://blog.sina.com.cn/s/blog_5db869d00100h7hi.htmlhttp://baike.baidu.com/view/127转载 2017-10-25 09:56:59 · 620 阅读 · 0 评论 -
char *和string的字符串处理常用接口函数
函数find_first_of() 查找在字符串中第1个出现的字符c,而函数find_last_of()查找最后一个出现的c。匹配的位置是返回值。如果没有匹配发生,则函数返回-1。int find_first_of(char c, int start = 0):以索引为start为开头,往字符串后搜寻字符c,匹配的位置是返回值。如果没有匹配发生,则函数返回-1。int find_l原创 2016-06-14 09:45:58 · 1065 阅读 · 0 评论 -
C++中实现从std::string类型到bool型的转换
利用输入字符串流:std::istringstream ?123boolb; std::string s = "true"; std::istringstream(s) >> std::boolalpha >> b;转载 2015-12-23 18:37:58 · 1647 阅读 · 0 评论 -
Linux获取U盘名
static string getDiskName(){DIR *dirptr = NULL;struct dirent *entry = NULL;string diskName("");char *path = "/media/root/";if ((dirptr = opendir(path)) == NULL){/* 未插入U盘,返回空字符串 */printf(原创 2017-10-24 19:14:29 · 2422 阅读 · 0 评论 -
C++中string与char*相互转换
一、string转换为char*有3中方法:1.datastring str="good boy";const char *p=str.data();2.c_strstring str="good boy";const char *p=str.c_str();3. copystring str="good boy";char p[20];str.转载 2017-08-17 10:04:13 · 3626 阅读 · 0 评论 -
C++ - string类型与int类型相互转换
string类型转换int类型本文地址: http://blog.csdn.NET/caroline_wendyC语言转换形式:[plain] view plain copy print?... std::string str; int i = atoi(str.c_str()); .原创 2017-04-21 11:24:18 · 341 阅读 · 0 评论 -
long、string和CString类型转换,CString转double、char *
string转为CString:string fileName;const char * chfileName;chfileName = fileName.c_str();CString cfileName(chfileName);TRACE(cfileName + "\n");CString转为string:CString cfileName;stri原创 2015-09-17 11:11:16 · 791 阅读 · 0 评论 -
C语言中char int转换问题
1,char型数字转换为int型char a[] = "32";printf("%d\n", a[0]-'0');//输出结果为32,int转化为char*********************************** linux c *********************************** (1)字符串转换成数字,用atoi,atol,转载 2016-04-14 11:06:43 · 782 阅读 · 0 评论 -
浅析string 与char* char[]之间的转换
与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char*1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin(转载 2015-09-21 18:27:56 · 379 阅读 · 0 评论 -
C++中文乱码转为十六进制和转为正常中文
//将中英文字符串或者英文+中文乱码转换为十六进制string ErrString = “unknown error; 未知错误”;const char *str = ErrString.data();for (int i = 0; i {printf("0x%02x, ", *(char *)(str+(long)i));}原创 2015-10-30 18:20:04 · 3396 阅读 · 0 评论 -
C++线程同步的四种方式(Windows)
为什么要进行线程同步? 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是...转载 2018-03-07 01:22:47 · 1404 阅读 · 0 评论 -
单例模式及C++实现代码
class CSingleton /* 懒汉式 */{ public: static CSingleton * GetInstance() { if(m_pInstance == NULL) //判断是否第一次调用 m_pInstance = new CSingleton; return m_pInstance; }...转载 2018-04-03 17:50:51 · 241 阅读 · 0 评论 -
Qt之设置QWidget背景色
简述QWidget是所有用户界面对象的基类,这意味着可以用同样的方法为其它子类控件改变背景颜色。Qt中窗口背景的设置,下面介绍三种方法。使用QPalette使用Style Sheet绘图事件一般我不用QSS设置窗口背景,也不建议使用。(这里是对于窗口而,如果是子部件当然可以)。因为窗口使用QSS设置背景之后,若子部件不使用同样的方式来设置,默认则会继承父窗口的样式。简述使用QPalette使用St...转载 2018-04-23 20:37:43 · 1497 阅读 · 0 评论 -
类的静态成员
静态成员的特性: 不管这个类创建了多少个对象,而其静态成员只有一个拷贝(副本),这个拷贝被所有属于这个类的对象共享。 一、静态数据成员 定义格式: static 数据类型 静态数据成员名; 初始化格式: 数据类型 类名::静态数据成员名 = 初始化值;转载 2014-09-15 10:37:29 · 758 阅读 · 0 评论 -
C++静态链接库和动态链接库
https://blog.csdn.net/jeryjeryjery/article/details/70893616转载 2018-11-29 18:13:23 · 409 阅读 · 0 评论 -
判断链表中是否有环 ----- 有关单链表中环的问题
给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。 首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;5.如果存在环,求出环上距离任意一...转载 2018-11-08 14:07:14 · 172 阅读 · 2 评论