简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
C,C++程序最常见的崩溃问题就是内存问题,内存越界,访问空指针,野指针等都会造成程序崩溃。Linux系统中当程序运行过程中出现非法操作,系统会先发送对应的错误信号,每种错误信号都有默认的处理方式,比如,当我们给一个空指针赋值的时候,系统会检测到这个内存错误,然后向进程发送SIGSEGV信号,该信号默认的处理方式是退出进程,这种情况下,只能看到进程挂掉,但无法定位错误。当出现这种问题的时候一般往往
定时器的实现一般需要借助系统提供的超时相关接口,比如select、 条件变量、或者sleep, usleep等,sleep,usleep提供的睡眠功能太有限,无法中途唤醒,这就导致他们其实不适合做定时器中的定时方法。而select和条件变量都可以设置定时时长,而且在中途可以唤醒,精度也很高,因此,可以采用select或条件变量作为定时方法,本文讨论使用条件变量如何实现定时任务。条件变量可以设置超时
VS2017版本现已支持开发Linux项目,就是在VS上面写代码,而编译和运行是在Linux环境下。使用场景:假如,代码最终是运行在Linux系统上,而我们又不想在Linux环境下写代码,想借用VS强大的开发功能做开发,那么就可以在VS上面创建一个Linux项目。设置:项目建好之后,需要设置远程连接,指定代码最终要运行的目标平台。编译:项目编译的时候,VS会把代...
使用Docker+Visual Studio 2019搭建Linux C++开发环境从Visual Studio 2017开始,Visual Studio就已经支持跨平台Linux项目的开发。使用它作为开发工具可以很方便的进行开发,调试。它的跨平台开发原理是这样的,通过建立一个Linux工程,这个工程在编译时,拷贝本地代码到远程Linux环境,然后在Linux环境下编译,实际上是一个远程编译的..
之前我有一篇文章讲的是使用Visual Studio 2017 创建Linux C++ 项目(使用VS2017调试Linux C++代码),使用IDE的好处就是方便编码和调试。工作中也一直以这种方式开发Linux平台的项目,使用了大概两年多,总体上可以满足开发需求,但是还存在一些bug,或者说令人不太满意的地方。问题1:本地文件和远程同步问题项目中如果有脚本或者配置等文本文件,由于这些文件不参..
在CMakeLists.txt中可以通过修改CMake内置的环境变量来改变C或C++的编译选项.编译选项相关的CMake 变量如下:CMAKE_C_FLAGS =CMAKE_C_FLAGS_DEBUG = -gCMAKE_C_FLAGS_MINSIZEREL = -Os -DNDEBUGCMAKE_C_FLAGS_RELEASE = -O3 -DNDEBUGCMAKE_C_FLAGS_RELWIT