- 博客(23)
- 收藏
- 关注
原创 人的时间管理有如内存管理
最近我复习章节复习到计算机操作系统的内存管理,才发现其中的调度思想和人的行为是如此相似。首先计算机系统是一个非常高效的组织,其中的调度思想也是为效率和公平性处处考虑且经过验证的。我首先发现自己有把浏览器的标签保存的习惯,不知不觉中标签就满了。因为我的时间调度也是碎片化的,所以每个网站标签就是我正在进行的进程任务。我通过不断切换网页标签来切换要处理的任务。人的行为往往没有机器组织高效严密,因此有些新的网页标签进不来,而有的网页标签直接就被饿死了。通过类比我才发现,自己的...
2021-05-30 14:13:33 167
原创 VS 静态库lib如何依赖动态库dll
一般来说,vs可以提供正常的依赖输入窗口用于依赖动态库。但是当工程设置生成静态库之后,VS默认不支持给静态库增加依赖动态库。链接器选项没有了。此时只能够把静态库所依赖的动态库也改成静态库,这样这个静态库才能被正常编译,否则编译的时候会报错,全部都是动态库预编译声明__declspec(dllimport).有没有什么方法让静态库也能链接动态库呢? 有的。#pragmacomment(lib,"..\\release\\xxx.lib")在报错调用动态库方法类的文...
2021-05-08 18:58:12 1242
原创 leeched 22. 括号生成 最佳解法
题目描述: 数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8通过次数268,900提交次数348,796class Solution {public: vector<string> ret...
2021-05-05 17:33:53 174
转载 C++面试 虚函数表 虚函数指 内存位置
版权声明:本文为CSDN博主「Runner_of_nku」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Runner_of_nku/article/details/115251821一图以镇之c/c++程序所占用的内存一共分为五种:栈区,堆区,程序代码区,全局数据区(静态区),文字常量区.显而易见,虚函数表存放在全局数据区.下面开始试验class A{public:...
2021-04-04 21:21:38 368
原创 C++面试 select poll epoll之间的区别
目录摘要场景描述Selectpollepoll总结摘要先明确几个概念:面试官问:给我讲讲什么事同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。我:?????同步和异步的概念 同步是指用户线程发起IO请求后,需要等待或者轮询内核IO操作完成后才能继续执行; 异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程或者调用用户线程注册的回调函数。阻塞和非阻塞的概念 阻塞是指IO操作需要彻底完成后才返回到用户空间; 非阻塞
2021-04-04 19:18:05 2215
原创 C++面试 左值、右值、左值引用、右值引用
1、左值和右值左值(left-values),缩写:lvalues ,located value 可定位值,其含义是可以明确其存放地址的值,更确切说对其的使用是基于地址右值(right-values),缩写:rvalues , read value 可读的值,通常指代赋值运算=右侧的常量值,字面值,或者函数的返回值,它们没有具体的指代名,即无法通过地址访问,通常在赋值表达式结束后变销毁。一般可以认为:左值对应变量的地址,右值对应变量的值,首先说左值和右值,他们绝不是简单的等号左边和右边的..
2021-04-02 18:05:00 3739 1
原创 C++面试 深浅拷贝问题
一、浅拷贝问题(1)如果类class中叧包含简单数据成员,没有指向堆的指针, 可以使用编译器提供的默认复制构造函数,但是这种情况很少。很多时候我们都会在头文件定义很多需要指向堆的指针。如果发生浅拷贝等、默认复制构造函数等问题是极其危险的操作,会发生段错误,析构函数去两次释放同一个地址。我的理解是浅拷贝是拷贝了对象的引用,因此地址不变。int main(){ {// 花括号让s1和s2变成局部对象,方便测试 String s1; String s2(s1);// 复制对象...
2021-04-01 21:01:02 487
转载 如何用技术改变生活 哪个瞬间你突然觉得读书真有用?
作者:南慕伦链接:https://www.zhihu.com/question/35720340/answer/262160679来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。我觉得写的很好,所以就转载了,已注明出处。希望能扩大影响力。这是一篇实实在在技术改变生活的点,也是我们技术人不忘的初心。背景我的爸爸妈妈都是一个西南小城的大学老师。自从有记忆的时候开始,每次到他们期末考试的时候,他们就要花上好几天的时间改卷。最近几年,步入中年的...
2021-04-01 14:17:17 321 1
转载 Qml文件的两种加载方式|启动Qt quick app的两种方法
一种是QQmlApplicationEngine搭配Window,例如:[cpp] view plain copy #include #include int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine
2017-12-12 18:09:48 778
原创 qt TCP接收数据遇到的问题
项目负责利用TCP来传输一组大的数据,然后在接收函数里将接收的数组进行解包赋值。从结果来看发现解包出来的数据都是错误的,几乎都是随机并且好几个值是负无穷。这里就发现了QT的TCP传输机制,它将我的数据分两次接收,每一次是原来的一半。例如我传3000字节大小,那么它会拆成两次1500,偶尔会出现2966和44或者一次满包的情况。随着你传输数据越大,能一
2017-10-18 08:44:32 6482 2
原创 Qt Table 的表头合并
最近接到了开发表格的需求,一般来说网上有很多不错的例子。表格的开发多半使用QtableWeiget或者Qtableview。为了美观,有很多样式设置的代码行。基本外观设置FriendTable->setFrameShape(QFrame::NoFrame); //设置边框FriendTable->setHorizontalHeaderLabels(HeadList);
2017-09-27 08:49:04 19299 3
转载 QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚。所以,今天就在这里总结一下! 以下为个人模拟Windows资源管理器的一个表单 一、设置表单样式 table_widget->setColumnCount(4); //设置列数 table_widget->horizontal
2017-09-26 17:02:18 766
转载 qt 折线图开发
1. QT坐标系统。在画坐标系之前,我们得先了解一下QT5的坐标系统。QT5的坐标设定左上角为原点(0,0),向右为x轴正方向,向下为y轴正方向,这点与生活中常见的直角坐标系不同。2. 绘制直角坐标系 2.1 添加头文件 #include //用于绘画事件 #include //引入用到的控件 2.2
2017-09-22 14:05:06 1380
原创 libpng-warning-iccp-known-incorrect-srgb-profile 警告问题
Libpng-1.6 is more stringent about checking ICC profiles than previous versions. You can ignore the warning. To get rid of it, remove the iCCP chunk from the PNG image.Some applications treat warnin
2017-09-18 09:32:29 968
原创 qt静态链接库心得
今天在工作上要调用别人的函数,故而用到了静态链接,网上方法挺多的就不赘述了,只是来说说自己的大概情况。pro文件里面添加LIBS +=My_path/libwaveformGEN.a //路径要一致,否则会报错找不到该文件然后我就报了三行错 relocation R_X86_64_PC32 against symbol `ceil@@GLIBC_2.2.
2017-09-06 08:32:43 1764
转载 qt线程通信(通过信号触发来传递参数)
最近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI。所以,网络通信端采用新开线程的方式。在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦。网上提供了很多同一线程不同类间采用信号槽通信的方式,但是并不完全适合线程间的信号槽通信,这主要体现在自定义消息的传递上。首先我们看看一般的方式:testthread.h 文件[cpp] view p
2017-08-31 21:45:39 13576
转载 Qt--改变鼠标形状
改变鼠标形状,在绘制坐标系的时候有用到,特此记下: 1 this->setMouseTracking(true); //设置为不按下鼠标键触发moveEvent 2 void mouseMoveEvent(QMouseEvent* event) 3 { 4 QPoint mousepos = event()->pos(); 5 6 //在坐标(0
2017-08-30 15:06:08 11866 1
原创 关于跨线程操作的心得
背景:创建线程是为了把任务量大的事情交给线程去做,防止因为主线程(GUI线程)执行逻辑代码产生卡顿造成用户体验不好的现象。这样子就会涉及主线程和子线程的通信问题。子线程包括了逻辑子线程和GUI子线程,一般来说因为GUI子线程有自己的触发事件,跟主线程交互的情况比较少,所以就不讨论了,这里就单单说下逻辑子线程。一般子线程要传递数据或者调用主线程的函数,都会使用信号SIGNAL。 在子线程对象被创造出
2017-08-25 11:23:29 1600
原创 QTcpSocket 发送数据心得
遇到不会用的函数前,最好还是看看手册QAQ,今天居然吃了这个大亏!!! 先交代一下背景: 在做TCP客户端的发送数据功能,要和服务器程序进行TCP/IP通信,且根据通信协议要发送数组或者结构体,并且数组的每一个位都是有效数据位。因此不能像大多数人一样加blockSize篡改协议内容。。网上大多数的例子都是 //用于暂存要发送的数据 QByteArray block;
2017-08-22 14:44:14 14127 4
原创 QT之TCP客户端线程通信
摘要最近因为工作上的需求要利用到tcp,之前接触的比较多的是C语言的tcp通信,转到QT之后多多少少有些不适应,因为QT把TCP通信的功能封装好了。让我们一起看看TCP客户端加上线程是如何实现的。线程因为C语言的影响,我会首选线程来实现TCP客户端。因为GUI编程下不知道进程是否操作的好这是其一,其二是因为线程与进程相比对系统的资源开销比较小,利于优化,减少界面的卡顿提高用户体验这是很重要的一点。
2017-08-17 21:33:41 13223 4
原创 QT Qmessagebox 与 bottonBox 结合应用例子
Qmessagebox最常见的用法就是矫正用户的误操作,提供正确的引导指示。获取点击事件首先,创建一个dialog之后会默认带一个控件QDialogButtonBox。 if(ui->buttonBox->button(QDialogButtonBox::Ok) == button) //判断按下的是否为"确定”按钮来进行控件交互获取点击OK(botton)事件。void mainWindow
2017-08-15 13:40:51 581
原创 qt中的lineEdit文本输入框的输入类型限制(三种验证类)
qt中的lineEdit文本输入框的输入类型限制(三种验证类)在之前的开发过程中因为经验不足,导致了程序健壮性不好而吃了不少的亏,因为输入源头无法控制而导致程序出现未知的错误甚至崩溃,这对于用户体验来说极为不好。因此这次限制lineEdit输入源是有极为必要的。经过初步的调研,发现目前三种限制分别是1.输入int类型 限制 QIntValidator *validator = new QIntVa
2017-08-15 09:55:45 14617 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人