- 博客(10)
- 收藏
- 关注
转载 c++源文件到可执行文件过程
一.四个步骤对于C/C++编写的程序,从源代码到可执行文件,一般经过下面四个步骤:1).预处理,产生.ii文件2).编译,产生汇编文件(.s文件)3).汇编,产生目标文件(.o或.obj文件)4).链接,产生可执行文件(.out或.exe文件)以hello.c为例,这个过程可以用下面的图来表示二.预处理预处理主要包含下面的内容:a.对所有的“#define”进行宏展开;b.处理所有的条件编译指令,比如“#if”,“#ifdef”,“#elif”,“#else”,“#endif”c.处
2020-07-04 21:06:51
1205
转载 Linux环境编程笔记--信号
1、signal函数作用:对特定信号进行相应处理。函数原型:#include <signal.h>typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);handler是回调函数,此函数返回值必须是void,参数是一个int。系统为我们事先提供好的两个宏,分别是 SIG_DFL (default) 和 SIG_IGN (ignore)。如果 handler 被指定
2020-06-06 10:40:16
442
转载 Linux 标准信号详解
编号为1 ~ 31的信号2113为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。下面我们对编号小于SIGRTMIN的信号进行讨论。SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)
2020-06-04 19:46:09
628
转载 Linux环境编程学习笔记--进程基础
1、fork函数fork函数用来创建一个子进程,他的函数原型如下:pid_t fork(void);通过返回值类型,可以知道当前进程是父进程还是子进程:pid_t>0:父进程,pid_t为子进程的进程id。=0:子进程(可通过调用getpid()和getppid()得到自己和父进程的id)=-1:创建失败...
2020-06-04 19:44:14
251
转载 Linux环境编程笔记--文件与目录
1、ext2文件系统示意图:Block(块):物理磁盘是由一个个的区(所谓的扇区)连接成一片,每个区是 512 字节。为了能有组织,有计划的使用磁盘,设计者把连续若干个(比如2个,4个,8个)区连成一组,抽象出 block 的概念。如果使用 2 个区为一组,那一个 block 的大小就是 1KB。如今,磁盘也不在是什么昂贵资源,动辄就是几百G大小,通常在设计 block 的时候都使用 8 区连成一组,即一个 block 是 4KB。Boot Block:无论如何,Boot Block 都占用 1KB
2020-05-23 21:00:26
295
原创 Linux环境编程笔记--文件IO
最近在看Allen大神的Linux环境编程系列博客,把自己认为重要的东西记录下来,以供日后学习使用。1、文件描述符open函数返回的整数,即PCB中文件列表的索引值。2、lseek()函数函数原型:off_t lseek(int fd, off_t offset, int whence);函数作用:改变f_pos指针位置。f_pos的位置决定了对此文件进行读写的初始位置。参数作用:当用 open 函数打开一个文件的时候,该偏移量 f_pos 被默认指定为 0。如果 whence 等于 SEE
2020-05-22 20:52:00
223
原创 set_intersection使用详解
set_intersection()作用是求两个集合的交集,其中有5个参数:firts1,last1,first2,last2,result。他们都是迭代器。需要注意的是,所求的两个集合必须是排序之后的,不然运行时会出现错误。例子:set_intersection(nums1.begin(), nums1.end(), nums2.begin(), nums2.end(), inserter(re,re.begin()));...
2020-05-17 11:59:31
6650
转载 Floyd判圈算法(Floyd Cycle Detection)
Floyd判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm)。该算法由美国科学家罗伯特·弗洛伊德发明,是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,求出该环的起点与长度的算法。如果有限状态机、迭代函数或者链表上存在环,那么在某个环上以不同速度前进的2个指针必定会在某个时刻相遇。同时显然地,如果从同一个起点(即使这个起点不在某个环上)同时开始以不同速度前进的2个指针最终相遇,那么可以判定存在一个环
2020-05-17 10:32:42
278
原创 GPU Memory-Usage拉满,Volatile GPU-Util却为0的问题
使用PyTorch训练模型时竟然没有听见服务器的响声(震惊!)而且训练速度特别慢,所以查看了一下GPU的利用率,发现是0%!!!经过各种查之后终于找到了问题所在:原来pytorch加载数据是要将数据从CPU中处理,然后送到GPU中,GPU拥有非常块的计算能力,但是受限于带宽,CPU送入的数据远远达不到GPU满载的需要。就像你给个一口能吃5个馒头的大胖子,一次只给吃指甲盖大小的馒头,根本感受不到好...
2019-12-13 15:14:32
10734
1
原创 VS2017配置OpenCV3.4+contribute过程及需要注意的点
如果你用不到contrib库,那么直接在这下载相应版本的window文件安装就好,简单!!但是如果你想要使用sift等contrib库中的方法,那么就要下载opencv和opencv_contrib的源码。推荐去GitHub上下载,地址:opencv:https://github.com/opencv/opencv/releasesopencv_contrib:https://github....
2019-08-14 11:45:28
1151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人