C\C++
GenmCai
把自己喜欢的东西做到最好!
展开
-
C++使用exit函数后出现内存泄漏
[info]内存泄漏的这个问题,有时其实是不需要去管的,但强迫症患者总会想去修复这些不完美的地方。[/info]问题简单点来说,就是使用exit会导致程序强制退出作用域,像全局函数这样的可以被正常释放,但是其他就不能够保证,目前测试是设计到内部动态分配的基本都可能无法被释放,造成可能程度上的内存泄漏。程序执行的代码段很简单,这个函数被设置成了回调函数,在被调用后,直接终止程序,造成程序可能性上的泄漏。void exitEvent() { exit(-1); }检测结果==298439==原创 2020-10-24 22:31:33 · 916 阅读 · 1 评论 -
Linux系统编程——信号
[info]信号处理虽然初学者用的不会很多,而且现有太多对信号的替代品。但作为一个打算专精发展的Coder来说,还是必须学习和掌握的。[/info]发送信号Linux下,一个进程给其他进程发送信号的API是kill函数#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);sig 参数决定了要发送的信号,pid决定要发送的进程对象。pid参数含义pid >原创 2020-10-24 12:00:13 · 275 阅读 · 0 评论 -
Linux下用于完整读入写出字节流套接字的readn、writen和readline函数
字节流套接字上调用read或write输入或输出的字节数可能比请求的数量少,然而这不是出错的状态。出现这个现象的原因在于内核中用于套接字的缓冲区可能已经到达了极限,此时所需的是调用者再次调用read或write函数,以输入或者输出剩余的字节。------ 《UNIX网络编程 卷1:套接字联网API》readnssize_treadn(int fd, void* vptr, size_t ...原创 2020-01-23 17:52:23 · 292 阅读 · 0 评论 -
大小端模式的判断和转化
大端模式:指的是数据低字节在内存高字节中,而数据高字节在内存低字节中,看上去跟人的阅读习惯类似。小端模式:指的是数据低字节在内存低字节中,而数据高字节在内存高字节中。PS:字有点差,见谅。。。判断和转换代码:#include <iostream>using namespace std;// 判断是否是大端 bool isBig() { int var = 0...原创 2020-01-11 12:13:55 · 393 阅读 · 0 评论 -
C 使用fread读取文件
对于C语言中使用fread出现乱码的解决方法(排除编码问题)#include <iostream>#include <string>#include <cstring>using namespace std;// 不要在意使用的是C++,同个道理int main(){ const char *filePath = "../test.txt...原创 2019-11-17 12:49:18 · 3495 阅读 · 0 评论