- 博客(8)
- 收藏
- 关注
原创 C++面试题错误集合
1 以下程序输出是____。#include <iostream>using namespace std;int main(void){ const int a = 10; int *p = (int*)(&a); *p = 20; cout << "a = " << a << ",*P = "...
2019-10-31 00:42:04
330
转载 Linux进程分配内存的两种方式--brk() 和mmap() ----转载
如何查看进程发生缺页中断的次数?用ps -o majflt,minflt -C program命令查看。majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。发成缺页中断后,执行了那些操作?当一个进程发...
2019-10-23 23:06:13
259
1
原创 warning: cast from ‘void*’ to ‘int’ loses precision [-fpermissive] 错误分析
这种错误一般产生在linux 64位机上因为linux64 上的int为 4个字节指针为 8个字节int num = 100;//此时不会产生错误,但会产生警告,因为4字节的转换为8字节void* p = (void*) num;//此时就会产生错误,因为8字节的指针被强转为4字节的int,数据丢失了num = (int)p;//解决办法,把int 改为longlo...
2019-08-23 15:16:04
2521
原创 linux网络编程 getsockopt使用TCP_MAXSEG获取MSS时,MSS值与实际值不符问题。
学习UNP的时候,习题中有一个获取MSS值和RCVBUF值的练习第一步:创建套接字sockfd,在connect之前调用getsockopt函数获取系统中的MSS值和RCVBUF的值第二步:调用connect连接服务器端第三步:再次获取MSS值和RCVBUF的值代码如下:#include "unp.h"#include <netinet/tcp.h>...
2019-03-15 00:05:28
3160
原创 linux函数深入探索——open函数打开文件是否将文件内容加载到内存空间
问题:open(2)函数打开文件是否将文件内容加载到内存空间首先,文件打开后都会产生一个文件描述符fd,这个文件描述符其实是记录在PCB的文件描述符表中,而这个文件描述符实质上是一个结构体,用来存放跟打开文件相关的信息,基于此前提,我产生了两种假设1、文件描述符结构体中只存储了文件在硬盘中的相应地址信息,并不将文件内容加载到内存中,这样做的好处是减少内存空间的占用,但大大增加了运行的时间...
2018-12-17 17:11:19
6618
5
原创 C语言使用mmap通过文件共享进程虚拟内存空间
今天在学mmap(2)将文件映射到内存空间的时候,我想到了一个用法,就是将文件当做内存的转储,然后在让另一个进程共享这个文件,以此方法来实现进程间共享内存的功能。进程1的程序代码#include<stdio.h>#include <sys/mman.h>#include <sys/types.h>#include <sys/stat.h&...
2018-11-18 20:15:26
412
原创 C程序错误记录之段错误 Segmentation fault (core dumped)
写了一个简单的测试程序,想必刚入门的朋友都能看出这个错误来,但我刚看到这个错误时,产生了很大的疑问,为什么会是段错误呢?错误语句:#include<stdio.h>int main(){ char c='A'; printf("%s\n",c); return 0;}报错信息:Segmentation fault ...
2018-11-14 23:29:59
479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人