帮忙看一下c++代码,一直报“段错误,核心转存”,大概知道错误在get_image_from_stream函数中的memcpy位置,

科研小学生 2019-05-28 10:37:23
#ifdef OPENCV

#include "stdio.h"
#include "stdlib.h"
#include "opencv2/opencv.hpp"
#include "image.h"

using namespace cv;
#include </media/wsb/King/yolov3_camera/darknet1/src/moCameraDriver.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string>
#include<algorithm>
#ifdef OPENCV_SHOW
#include </usr/local/include/opencv2/opencv.hpp>
#endif
#define MO_CAMERA_IMAGE_WIDTH (1280)
#define MO_CAMERA_IMAGE_HEIGHT (720)



/* camera driver */
MO_CAM_DRIVER pCameraDriver;

/* camera parameters */
char nCamMode; //0: Camera
char* pCamPath;
int nStartFrmNo;
char nFlipMode;

/* camera output */
int nFrameNo;
unsigned long long ullTime;

int nChannel, nChangeChn;
void *pGPSData, *pImuData;

unsigned long long Dep=0;
unsigned char* pDspData;
unsigned char* pRefData;
unsigned char* pColorData;
double *pDepthData;

/* show image */
#ifdef OPENCV_SHOW
#endif
using namespace cv;
using namespace std;

extern "C" {

IplImage *image_to_ipl(image im)
{
int x,y,c;
IplImage *disp = cvCreateImage(cvSize(im.w,im.h), IPL_DEPTH_8U, im.c);
int step = disp->widthStep;
for(y = 0; y < im.h; ++y){
for(x = 0; x < im.w; ++x){
for(c= 0; c < im.c; ++c){
float val = im.data[c*im.h*im.w + y*im.w + x];
disp->imageData[y*step + x*im.c + c] = (unsigned char)(val*255);
}
}
}
return disp;
}

image ipl_to_image(IplImage* src)
{
int h = src->height;
int w = src->width;
int c = src->nChannels;
image im = make_image(w, h, c);
unsigned char *data = (unsigned char *)src->imageData;
int step = src->widthStep;
int i, j, k;

for(i = 0; i < h; ++i){
for(k= 0; k < c; ++k){
for(j = 0; j < w; ++j){
im.data[k*w*h + i*w + j] = data[i*step + j*c + k]/255.;
}
}
}
return im;
}

Mat image_to_mat(image im)
{
image copy = copy_image(im);
constrain_image(copy);
if(im.c == 3) rgbgr_image(copy);

IplImage *ipl = image_to_ipl(copy);
Mat m = cvarrToMat(ipl, true);
cvReleaseImage(&ipl);
free_image(copy);
return m;
}

image mat_to_image(Mat m)
{
IplImage ipl = m;
image im = ipl_to_image(&ipl);
rgbgr_image(im);
return im;
}

void *open_video_stream(const char *f, int c, int w, int h, int fps)
{
VideoCapture *cap;
if(f) cap = new VideoCapture(f);
else cap = new VideoCapture(c);
if(!cap->isOpened()) return 0;
if(w) cap->set(CV_CAP_PROP_FRAME_WIDTH, w);
if(h) cap->set(CV_CAP_PROP_FRAME_HEIGHT, w);
if(fps) cap->set(CV_CAP_PROP_FPS, w);
return (void *) cap;
}

image get_image_from_stream(void *p)
{
//VideoCapture *cap = (VideoCapture *)p;
//*cap >> m;
//Mat m;
cv::Mat RefImg;
nCamMode = 0;
pCamPath = (char*) "192.168.80.10";
nStartFrmNo = 0;
nFlipMode = 0;
pCameraDriver = moNewCameraDriver(nCamMode, pCamPath, nStartFrmNo, nFlipMode);
string mat;
float BFBase[2];
moGetBFBase(pCameraDriver, BFBase);
#ifdef OPENCV_SHOW
RefImg = cv::Mat::zeros(MO_CAMERA_IMAGE_HEIGHT, MO_CAMERA_IMAGE_WIDTH, CV_8UC3);
#endif
cout<<"RefImg"<<RefImg;
pDepthData = (double*)malloc(MO_CAMERA_IMAGE_WIDTH*MO_CAMERA_IMAGE_HEIGHT*sizeof(double));
while(1)
{
if(0 != moGetNextFrameData(pCameraDriver, &nFrameNo, &ullTime, &pGPSData, &pImuData, &pColorData, &pRefData, &pDspData))
break;
memcpy(RefImg.data, pColorData, MO_CAMERA_IMAGE_WIDTH*MO_CAMERA_IMAGE_HEIGHT*3);
return mat_to_image(RefImg);
}
}

image load_image_cv(char *filename, int channels)
{
int flag = -1;
if (channels == 0) flag = -1;
else if (channels == 1) flag = 0;
else if (channels == 3) flag = 1;
else {
fprintf(stderr, "OpenCV can't force load with %d channels\n", channels);
}
Mat m;
m = imread(filename, flag);
if(!m.data){
fprintf(stderr, "Cannot load image \"%s\"\n", filename);
char buff[256];
sprintf(buff, "echo %s >> bad.list", filename);
system(buff);
return make_image(10,10,3);
//exit(0);
}
image im = mat_to_image(m);
return im;
}

int show_image_cv(image im, const char* name, int ms)
{
Mat m = image_to_mat(im);
imshow(name, m);
int c = waitKey(ms);
if (c != -1) c = c%256;
return c;
}

void make_window(char *name, int w, int h, int fullscreen)
{
namedWindow(name, WINDOW_NORMAL);
if (fullscreen) {
setWindowProperty(name, CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);
} else {
resizeWindow(name, w, h);
if(strcmp(name, "Demo") == 0) moveWindow(name, 0, 0);
}
}

}

#endif
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
引用 2 楼 科研小学生的回复:
[quote=引用 1 楼 赵4老师的回复:]进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’ 使用命令 gdb 运行程序名 core或core.数字 进入gdb然后使用bt命令 可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。 如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令
我打开了core文件,然后按照提示代码是进行了一次无效访问,但是我还是不知道哪里出错了,不知道怎么改。[/quote] 我猜测会不会是我定义的RefImg的每个字符大小为CV_8UC3,结果输出的结果大于这个空间了?我下午再试一下。
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
引用 1 楼 赵4老师的回复:
进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’ 使用命令 gdb 运行程序名 core或core.数字 进入gdb然后使用bt命令 可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。 如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令
我打开了core文件,然后按照提示代码是进行了一次无效访问,但是我还是不知道哪里出错了,不知道怎么改。
赵4老师 2019-05-28
  • 打赏
  • 举报
回复
进程意外退出会在当前目录下产生‘core’文件或形如‘core.数字’的文件比如‘core.1234’ 使用命令 gdb 运行程序名 core或core.数字 进入gdb然后使用bt命令 可以查看进程意外退出前函数调用的堆栈,内容为从上到下列出对应从里层到外层的函数调用历史。 如果进程意外退出不产生core文件,参考“ulimit -c core文件最大块大小”命令
科研小学生 2019-05-28
  • 打赏
  • 举报
回复

科研小学生 2019-05-28
  • 打赏
  • 举报
回复
引用 10 楼 636f6c696e的回复:
打印memcpy的四个入参,无非是两个地址和两个长度,哪来图片 [quote=引用 9 楼 科研小学生 的回复:] [quote=引用 8 楼 636f6c696e的回复:]比如传入一个空指针,稳定复现建议直接把4个入参全部打印出来 [quote=引用 5 楼 科研小学生 的回复:] [quote=引用 4 楼 636f6c696e的回复:]memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界
第一种情况不明白什么意思,第二种我把长度改成1很小还是不行,可以排除这个错误吧,[/quote][/quote] 那个是图片,打印不出来很大,可以运行的程序我把像素改小也打印不出来,不知道怎么回事[/quote][/quote] 我用cout函数输出结果什么都没有?
636f6c696e 2019-05-28
  • 打赏
  • 举报
回复
打印memcpy的四个入参,无非是两个地址和两个长度,哪来图片
引用 9 楼 科研小学生 的回复:
[quote=引用 8 楼 636f6c696e的回复:]比如传入一个空指针,稳定复现建议直接把4个入参全部打印出来 [quote=引用 5 楼 科研小学生 的回复:] [quote=引用 4 楼 636f6c696e的回复:]memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界
第一种情况不明白什么意思,第二种我把长度改成1很小还是不行,可以排除这个错误吧,[/quote][/quote] 那个是图片,打印不出来很大,可以运行的程序我把像素改小也打印不出来,不知道怎么回事[/quote]
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
引用 8 楼 636f6c696e的回复:
比如传入一个空指针,稳定复现建议直接把4个入参全部打印出来 [quote=引用 5 楼 科研小学生 的回复:] [quote=引用 4 楼 636f6c696e的回复:]memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界
第一种情况不明白什么意思,第二种我把长度改成1很小还是不行,可以排除这个错误吧,[/quote][/quote] 那个是图片,打印不出来很大,可以运行的程序我把像素改小也打印不出来,不知道怎么回事
636f6c696e 2019-05-28
  • 打赏
  • 举报
回复
比如传入一个空指针,稳定复现建议直接把4个入参全部打印出来
引用 5 楼 科研小学生 的回复:
[quote=引用 4 楼 636f6c696e的回复:]memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界
第一种情况不明白什么意思,第二种我把长度改成1很小还是不行,可以排除这个错误吧,[/quote]
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
上面这个是段错误我使用“catchsegv ”输出的结果,大神帮忙分析一下,谢谢!
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
Segmentation fault (core dumped)
*** Segmentation fault
Register dump:

RAX: 0000000000000000 RBX: 00000000007d2f90 RCX: 0000000000000400
RDX: 8a8c002700002700 RSI: 00007f5e3a013010 RDI: 0000000000000008
RBP: 00007fff1ae01e60 R8 : 0000000000000004 R9 : 00007f5efc6a2620
R10: 0000000000000001 R11: 0000000000000000 R12: 00007fff1ae01e80
R13: 00007fff1ae01d40 R14: 00007f5f158f6f40 R15: 00000000007d2f30
RSP: 00007fff1ae01cd0

RIP: 000000000049a559 EFLAGS: 00010202

CS: 0033 FS: 0000 GS: 0000

Trap: 0000000e Error: 00000006 OldMask: 00000000 CR2: 00000000

FPUCW: 0000037f FPUSW: 00000000 TAG: 00000000
RIP: 00000000 RDP: 00000000

ST(0) 0000 0000000000000000 ST(1) 0000 0000000000000000
ST(2) 0000 0000000000000000 ST(3) 0000 0000000000000000
ST(4) 0000 0000000000000000 ST(5) 0000 0000000000000000
ST(6) 0000 0000000000000000 ST(7) 0000 0000000000000000
mxcsr: 9fe0
XMM0: 00000000000000000000000042dfdf18 XMM1: 00000000000000000000000042dfdf18
XMM2: 00000000000000000000000042dfdf18 XMM3: 00000000000000000000000042dfdf18
XMM4: 00000000000000000000000042dfdf18 XMM5: 00000000000000000000000042dfdf18
XMM6: 00000000000000000000000042dfdf18 XMM7: 00000000000000000000000042dfdf18
XMM8: 00000000000000000000000042dfdf18 XMM9: 00000000000000000000000042dfdf18
XMM10: 00000000000000000000000042dfdf18 XMM11: 00000000000000000000000042dfdf18
XMM12: 00000000000000000000000042dfdf18 XMM13: 00000000000000000000000042dfdf18
XMM14: 00000000000000000000000042dfdf18 XMM15: 00000000000000000000000042dfdf18

Backtrace:
??:?(get_image_from_stream)[0x49a559]
??:?(demo)[0x4883f5]
??:?(run_detector)[0x420d7a]
??:?(main)[0x4042ef]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f5efc2fd830]
??:?(_start)[0x405739]

Memory map:

00400000-005d1000 r-xp 00000000 08:01 360091 /media/wsb/King/TEAM/camera/yolov3_camera/darknet(下载版) (复件)/darknet
007d1000-007d2000 r--p 001d1000 08:01 360091 /media/wsb/King/TEAM/camera/yolov3_camera/darknet(下载版) (复件)/darknet
007d2000-007d3000 rw-p 001d2000 08:01 360091 /media/wsb/King/TEAM/camera/yolov3_camera/darknet(下载版) (复件)/darknet
007d3000-007d4000 rw-p 00000000 00:00 0
013d1000-0ffed000 rw-p 00000000 00:00 0 [heap]
10000000-10001000 rw-s 00000000 00:06 517 /dev/nvidia0
10001000-10002000 rw-s 00000000 00:06 517 /dev/nvidia0
10002000-10003000 rw-s 00000000 00:06 517 /dev/nvidia0
10003000-10004000 rw-s 00000000 00:06 517 /dev/nvidia0
10004000-10005000 rw-s 00000000 00:06 517 /dev/nvidia0
10005000-10006000 rw-s 00000000 00:06 517 /dev/nvidia0
10006000-10007000 rw-s 00000000 00:06 517 /dev/nvidia0
10007000-10008000 rw-s 00000000 00:06 517 /dev/nvidia0
10008000-10009000 rw-s 00000000 00:06 517 /dev/nvidia0
10009000-1000a000 rw-s 00000000 00:06 517 /dev/nvidia0
1000a000-1000b000 rw-s 00000000 00:06 517 /dev/nvidia0
1000b000-1000c000 rw-s 00000000 00:06 517 /dev/nvidia0
1000c000-1000d000 rw-s 00000000 00:06 517 /dev/nvidia0
1000d000-1000e000 rw-s 00000000 00:06 517 /dev/nvidia0
1000e000-1000f000 rw-s 00000000 00:06 517 /dev/nvidia0
1000f000-10010000 rw-s 00000000 00:06 517 /dev/nvidia0
10010000-20000000 ---p 00000000 00:00 0
200000000-200200000 rw-s 00000000 00:06 516 /dev/nvidiactl
200200000-200400000 ---p 00000000 00:00 0
200400000-200404000 rw-s 00000000 00:06 516 /dev/nvidiactl
200404000-200600000 ---p 00000000 00:00 0
200600000-200a00000 rw-s 00000000 00:06 516 /dev/nvidiactl
200a00000-201200000 ---p 00000000 00:00 0
201200000-201204000 rw-s 00000000 00:06 516 /dev/nvidiactl
201204000-201400000 ---p 00000000 00:00 0
201400000-201800000 rw-s 00000000 00:06 516 /dev/nvidiactl
201800000-202000000 ---p 00000000 00:00 0
202000000-202004000 rw-s 00000000 00:06 516 /dev/nvidiactl
202004000-202200000 ---p 00000000 00:00 0
202200000-202600000 rw-s 00000000 00:06 516 /dev/nvidiactl
202600000-202e00000 ---p 00000000 00:00 0
202e00000-202e04000 rw-s 00000000 00:06 516 /dev/nvidiactl
202e04000-203000000 ---p 00000000 00:00 0
203000000-203400000 rw-s 00000000 00:06 516 /dev/nvidiactl
203400000-203c00000 ---p 00000000 00:00 0
203c00000-203c04000 rw-s 00000000 00:06 516 /dev/nvidiactl
203c04000-203e00000 ---p 00000000 00:00 0
203e00000-204200000 rw-s 00000000 00:06 516 /dev/nvidiactl
204200000-204a00000 ---p 00000000 00:00 0
204a00000-204a04000 rw-s 00000000 00:06 516 /dev/nvidiactl
204a04000-204c00000 ---p 00000000 00:00 0
204c00000-205000000 rw-s 00000000 00:06 516 /dev/nvidiactl
205000000-205800000 ---p 00000000 00:00 0
205800000-205804000 rw-s 00000000 00:06 516 /dev/nvidiactl
205804000-205a00000 ---p 00000000 00:00 0
205a00000-205e00000 rw-s 00000000 00:06 516 /dev/nvidiactl
205e00000-206600000 ---p 00000000 00:00 0
206600000-206604000 rw-s 00000000 00:06 516 /dev/nvidiactl
206604000-206800000 ---p 00000000 00:00 0
206800000-206c00000 rw-s 00000000 00:06 516 /dev/nvidiactl
206c00000-207400000 ---p 00000000 00:00 0
207400000-207404000 rw-s 00000000 00:06 516 /dev/nvidiactl
207404000-207600000 ---p 00000000 00:00 0
207600000-207a00000 rw-s 00000000 00:06 516 /dev/nvidiactl
207a00000-207a04000 rw-s 00000000 00:06 516 /dev/nvidiactl
207a04000-207c00000 ---p 00000000 00:00 0
207c00000-208000000 rw-s 00000000 00:06 516 /dev/nvidiactl
208000000-208004000 rw-s 00000000 00:06 516 /dev/nvidiactl
208004000-208200000 ---p 00000000 00:00 0
208200000-208600000 rw-s 00000000 00:06 516 /dev/nvidiactl
208600000-208604000 rw-s 00000000 00:06 516 /dev/nvidiactl
208604000-208800000 ---p 00000000 00:00 0
208800000-208c00000 rw-s 00000000 00:06 516 /dev/nvidiactl
208c00000-208c04000 rw-s 00000000 00:06 516 /dev/nvidiactl
208c04000-208e00000 ---p 00000000 00:00 0
208e00000-209200000 rw-s 00000000 00:06 516 /dev/nvidiactl
209200000-209204000 rw-s 00000000 00:06 516 /dev/nvidiactl
209204000-209400000 ---p 00000000 00:00 0
209400000-209800000 rw-s 00000000 00:06 516 /dev/nvidiactl
209800000-209804000 rw-s 00000000 00:06 516 /dev/nvidiactl
209804000-209a00000 ---p 00000000 00:00 0
209a00000-209e00000 rw-s 00000000 00:06 516 /dev/nvidiactl
209e00000-209e04000 rw-s 00000000 00:06 516 /dev/nvidiactl
209e04000-20a000000 ---p 00000000 00:00 0
20a000000-20a400000 rw-s 00000000 00:06 516 /dev/nvidiactl
20a400000-20a600000 ---p 00000000 00:00 0
20a600000-20a800000 rw-s 00000000 00:06 516 /dev/nvidiactl
20a800000-20aa00000 rw-s 00000000 00:06 516 /dev/nvidiactl
20aa00000-300200000 ---p 00000000 00:00 0
10000000000-10204400000 ---p 00000000 00:00 0
10204400000-10204600000 rw-s 00000000 00:05 102023 /dev/zero (deleted)
10204600000-10204800000 rw-s 00000000 00:06 516 /dev/nvidiactl
10204800000-10204a00000 rw-s 00000000 00:05 102024 /dev/zero (deleted)
10204a00000-10204c00000 rw-s 00000000 00:06 516 /dev/nvidiactl
10204c00000-10204ed6000 rw-s 00000000 00:06 516 /dev/nvidiactl
10204ed6000-10214200000 ---p 00000000 00:00 0
10214200000-10214400000 rw-s 00000000 00:05 102026 /dev/zero (deleted)
10214400000-10214600000 rw-s 00000000 00:05 102028 /dev/zero (deleted)
10214600000-10293800000 ---p 00000000 00:00 0
7f5e39778000-7f5e3abb4000 rw-p 00000000 00:00 0
7f5e3abb4000-7f5e3abb5000 ---p 00000000 00:00 0
7f5e3abb5000-7f5ec4000000 rw-p 00000000 00:00 0
7f5ec4000000-7f5ec4021000 rw-p 00000000 00:00 0
7f5ec4021000-7f5ec8000000 ---p 00000000 00:00 0
7f5ec80d8000-7f5ecc000000 rw-p 00000000 00:00 0
7f5ecc000000-7f5ecc021000 rw-p 00000000 00:00 0
7f5ecc021000-7f5ed0000000 ---p 00000000 00:00 0
7f5ed006b000-7f5ed11aa000 rw-p 00000000 00:00 0
7f5ed1269000-7f5ed1d9a000 rw-p 00000000 00:00 0
7f5ed1d9a000-7f5ed1d9b000 ---p 00000000 00:00 0
7f5ed1d9b000-7f5ed259b000 rw-p 00000000 00:00 0
7f5ed259b000-7f5ed259c000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed259c000-7f5ed259d000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed259d000-7f5ed259e000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed259e000-7f5ed259f000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed259f000-7f5ed25a0000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed25a0000-7f5ed25a1000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed25a1000-7f5ed25a2000 rw-s 00000000 00:06 516 /dev/nvidiactl
7f5ed25a2000-7f5ed2623000 rw-p 00000000 00:00 0
7f5ed2623000-7f5ed2624000 ---p 00000000 00:00 0
7f5ed2624000-7f5ede2a8000 rw-p 00000000 00:00 0
7f5ede2a8000-7f5ede2a9000 ---p 00000000 00:00 0
7f5ede2a9000-7f5edeaa9000 rw-p 00000000 00:00 0
7f5edeaa9000-7f5ee4aa9000 ---p 00000000 00:00 0
7f5ee4aa9000-7f5ee4aec000 r-xp 00000000 08:13 794953 /usr/lib/nvidia-384/libnvidia-fatbinaryloader.so.384.130
7f5ee4aec000-7f5ee4ceb000 ---p 00043000 08:13 794953 /usr/lib/nvidia-384/libnvidia-fatbinaryloader.so.384.130
7f5ee4ceb000-7f5ee4cf6000 rw-p 00042000 08:13 794953 /usr/lib/nvidia-384/libnvidia-fatbinaryloader.so.384.130
7f5ee4cf6000-7f5ee4cfb000 rw-p 00000000 00:00 0
7f5ee4cfb000-7f5ee581b000 r-xp 00000000 08:13 528681 /usr/lib/x86_64-linux-gnu/libcuda.so.384.130
7f5ee581b000-7f5ee5a1a000 ---p 00b20000 08:13 528681 /usr/lib/x86_64-linux-gnu/libcuda.so.384.130
7f5ee5a1a000-7f5ee5b6b000 rw-p 00b1f000 08:13 528681 /usr/lib/x86_64-linux-gnu/libcuda.so.384.130
7f5ee5b6b000-7f5ee5b79000 rw-p 00000000 00:00 0
7f5ee5b79000-7f5ee742f000 r-xp 00000000 08:13 537869 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7f5ee742f000-7f5ee762e000 ---p 018b6000 08:13 537869 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7f5ee762e000-7f5ee762f000 r--p 018b5000 08:13 537869 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7f5ee762f000-7f5ee7630000 rw-p 018b6000 08:13 537869 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7f5ee7630000-7f5ee7633000 r-xp 00000000 08:13 925370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7f5ee7633000-7f5ee7832000 ---p 00003000 08:13 925370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7f5ee7832000-7f5ee7833000 r--p 00002000 08:13 925370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7f5ee7833000-7f5ee7834000 rw-p 00003000 08:13 925370 /lib/x86_64-linux-gnu/libkeyutils.so.1.5
7f5ee7834000-7f5ee79b3000 r-xp 00000000 08:13 537883 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7f5ee79b3000-7f5ee7bb3000 ---p 0017f000 08:13 537883 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7f5ee7bb3000-7f5ee7bc3000 r--p 0017f0
科研小学生 2019-05-28
  • 打赏
  • 举报
回复
引用 4 楼 636f6c696e的回复:
memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界
第一种情况不明白什么意思,第二种我把长度改成1很小还是不行,可以排除这个错误吧,
636f6c696e 2019-05-28
  • 打赏
  • 举报
回复
memcpy出错无非是以下两个原因: 1. 源地址或者目的地址传入一个非法内存 2. 拷贝长度过大导致越界

64,677

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧