congliu0913
码龄9年
关注
提问 私信
  • 博客:21,826
    社区:299
    问答:5,066
    27,191
    总访问量
  • 11
    原创
  • 1,964,587
    排名
  • 114
    粉丝
  • 2
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河南省
  • 加入CSDN时间: 2015-11-07
博客简介:

congliu的博客

查看详细资料
个人成就
  • 获得22次点赞
  • 内容获得14次评论
  • 获得76次收藏
  • 代码片获得338次分享
创作历程
  • 1篇
    2024年
  • 1篇
    2023年
  • 1篇
    2022年
  • 8篇
    2021年
成就勋章
TA的专栏
  • Linux
    4篇
  • QT5
    7篇
兴趣领域 设置
  • 后端
    架构
  • 人工智能
    自动驾驶
  • 服务器
    linux
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

gitlab CI 配置中调用docker遇到the input device is not a TTY

去除-it 就可以了,-it是启用交互,但是在CI中是没有交互的。
原创
发布博客 2024.01.10 ·
496 阅读 ·
11 点赞 ·
1 评论 ·
9 收藏

[QT]Qml和C++传输QVariantMap格式的数据

头文件Q_OBJECTpublic:signals:实现注意这里不要将这个类直接写到main.cpp中,会报错。
原创
发布博客 2023.08.23 ·
1245 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Ubuntu20.04虚拟机无法启动,进入 initramfs 界面

场景:笔记本win11在虚拟机中运行ubuntu20.04,因为电池没电自动关机了,等找到充电器电脑开机后,虚拟机中 的ubuntu20.04无法正常启动,卡在 initramfs界面。
原创
发布博客 2022.09.13 ·
2415 阅读 ·
1 点赞 ·
1 评论 ·
14 收藏

在WIN7上安装VS2019遇到的问题

这几天因为业务需要,安装了一台WIN7,需要在上面进行QT 5.15.2的msvc2019 32位的编译,整理记录下整个过程。硬件环境: 一台普普通通的工控机软件环境:win7 64位 旗舰版 SP1问题一: Chrome 浏览器无法下载安装包从官网下载 vs2019的在线下载包时提示该网站证书不可靠,用谷歌浏览器不让下载,换成猎豹浏览器下载好了。其实这里已经提示了问题所在,只是我没有注意到。问题二:运行下载的安装包,在检查环境步骤,下载进度条为0VS2019无法在线安装,提示“无法下载安装文
原创
发布博客 2021.11.25 ·
1831 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

QT QCharts QScatterSeries 散点图自定义图标样式

在QT中使用QCharts 可以很方便的写出我们想要的图表,这里主要说下记录怎么自定义散点图的图标。思路灵感来自QT官方示例:[ScatterChart (https://doc.qt.io/qt-5/qtcharts-scatterchart-example.html)这里由官方设置5角星的方法演变而来:核心代码 QScatterSeries *series2 = new QScatterSeries(); series2->setName("scatter3"); //
原创
发布博客 2021.08.26 ·
3836 阅读 ·
2 点赞 ·
9 评论 ·
21 收藏

GTC21-Jensen-Huang-Keynote-04.pdf

发布资源 2021.07.20 ·
pdf

QT tableView常用的一些设置

记录下常用的表格设置: // 左边自动生成的列序号不显示 ui->tableView->verticalHeader()->hide(); // 列自适应空间大小 ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); // 选择一整行 ui->tableView->setSelectionBehavior(QAbstra
原创
发布博客 2021.07.06 ·
1415 阅读 ·
3 点赞 ·
0 评论 ·
15 收藏

QT 解决MSVC编译中遇到的常量中有换行符的错误

编码格式的问题,在项目文件中添加这两行解决问题:***.promsvc:QMAKE_CXXFLAGS += -execution-charset:utf-8msvc:QMAKE_CXXFLAGS += -source-charset:utf-8添加之后重新编译下就可以了
原创
发布博客 2021.06.16 ·
493 阅读 ·
0 点赞 ·
3 评论 ·
2 收藏

Docker 批量删除状态为退出的容器

docker ps -a|grep "Exited"|awk '{print $1}'|xargs docker rm命令解析:docker ps -a : 列出所有的docker 容器grep “Exited” : 过滤出所有状态为退出的容器awk ‘{print $1}’ : 以空格为分割符,打印出第一列的信息xargs : 将管道传递过来的参数进行处理,依次传递给后面的命令docker rm : 删除容器...
原创
发布博客 2021.02.23 ·
682 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

QT 通过代码设置渐变背景色

设置纯色背景setPalette(QPalette(QColor(1,1,255))); 设置渐变背景色setStyleSheet("background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #8386ec,stop:0.5 #474ac1 ,stop:1 #22259f)");
原创
发布博客 2021.01.07 ·
2137 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

QT 设置窗口无边框

在窗口主题中设置setWindowFlag(Qt::FramelessWindowHint); // 设置窗口无边框,设置后窗口无法移动如果窗口设置的分辨率不是和屏幕大小一样,效果就很差,不如使用窗口最大化showFullScreen();效果类似于浏览器按下F11键...
原创
发布博客 2021.01.06 ·
5213 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Ubuntu下使用date显示毫秒级

···$ echo -e "$(date +%T).$((10#$(date +%N)/1000000))"14:17:30.996···如果不加以10进制显示···10#···就会在达到999毫秒后失败···$ echo -e "$(date +%T).$(($(date +%N)/1000000))"000144943: value too great for base (error token is "000144943")···完整的打印当前时间的脚本```
原创
发布博客 2021.01.05 ·
2028 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

VS2010编译出错。。声明了啊,为什么还是出错

答:

你理解错我的意思了,我说的是你的声明中函数名写错了,就是应该是getRandomNumber的但是你声明的和在main中引用的是getRandomNumbers,多了个“s”,另外两个也是同样的问题。

回答问题 2017.03.30

VS2010编译出错。。声明了啊,为什么还是出错

答:

函数名写错了,你声明的分别是:
void getRandomNumbers(short,short&,short&);
void displayProblem(char,short&,short&);
short calCorrectAnswer(char,short,short);
但是函数名是:
void getRandomNumber(short level,short&firstNum,short&secondNum)
void diaplayProblem(char operation,short&firstNum,short&secondNum)
short calCorrectionAnswer(char operation,short firstNum,short secondNum)
可以使用notepad++辅助检查。

回答问题 2017.03.29

UDT协议在连接对端时出错(UDT4.11 connect)

答:

最近有进一步研究发现 可以在connect超时时就把本次连接的套接字从临时会话队列中移除

if (CTimer::getTime() > ttl)
{
// Stop waiting for this connection
m_pRcvQueue->removeConnector(m_SocketID);

     // timeout
     e = CUDTException(1, 1, 0);
     break;
  }
回答问题 2016.05.26

UDT协议在连接对端时出错(UDT4.11 connect)

答:

果然还是要靠自己啊。
自己追踪了两天,发现是一个状态控制的原因,哪个list容器,原本应该在连接失败,调用close时被删除掉,但是因为(m_bConnecting)_的状态出现问题,
原本应是是true的,却变成了false。

if (m_bListening)
{
m_bListening = false;
m_pRcvQueue->removeListener(this);
}
else if (m_bConnecting)
{
m_pRcvQueue->removeConnector(m_SocketID);
}

猜测可能是recv 的work线程中的函数
// Check connection requests status for all sockets in the RendezvousQueue.
self->m_pRendezvousQueue->updateConnStatus();
将(m_bConnecting)_置为false(在超时的情况下)
// avoid sending too many requests, at most 1 request per 250ms
if (CTimer::getTime() - i->m_pUDT->m_llLastReqTime > 250000)
{
if (CTimer::getTime() >= i->m_ullTTL)
{
// connection timer expired, acknowledge app via epoll
i->m_pUDT->m_bConnecting = false;
CUDT::s_UDTUnited.m_EPoll.update_events(i->m_iID, i->m_pUDT->m_sPollID, UDT_EPOLL_ERR, true);
continue;
}
从而到时在connect失败是,调用close释放了UDT本身的空间,但是list却没有释放,而在list中有一个指针是指向UDT的空间的,而这个空间已经被释放,这样就会出错。
解决方案1:从根源解决
先释放list,在释放UDT时判断list是否释放,如果没有就释放。
解决方案2:简单解决
在connect失败后延时250ms以上,使(m_bConnecting)_得状态一定处于false,并改变删除list的判断条件,已false为释放出发点。
我用的是方案2,因为时间紧,目前未发现修改这个控制变量对其他地方的影响。

回答问题 2016.05.17

下图问题怎么解决啊?C语言程序

答:

不知道你这个.o是自己编译的还是拷贝过来的,他不是说没定义那两个宏,我也是初学者,可能不正确。

回答问题 2016.05.08

UDT协议在连接对端时出错(UDT4.11 connect)

发布问题 2016.05.08 ·
3 回答
加载更多