随笔分类 -  C++

C++ boost.python折腾笔记
摘要:为了让当年研究生时写的图像处理系统重出江湖起到更大的作用,应研究生导师的意见,对原有的c++框架做了python扩展处理,为了避免遗忘,备注如下: 一、boost 编译 下载boost源码,这里使用boost 1.67,解压到目录,进行编译 下载C++的boost库:http://www.boost 阅读全文
posted @ 2018-05-24 21:54 30斤大番薯 阅读(682) 评论(0) 推荐(0)
百亿数据毫秒响应级交易系统读写分离存储数据设计
摘要:刚完成了一个存储百亿级数据,响应时间要求10毫秒内的交易系统数据存储设计方案,现在有空整理一下思维。 一、分库分表 1.实时数据和历史数据分离 分为ABC表,AB表每日日切,只存储1天数据,每到24点切另外1张表。C表存储历史数据,T-1数据日终批量AB表迁移至C表 这样实现动态数据和静态数据之间的 阅读全文
posted @ 2017-03-26 22:40 30斤大番薯 阅读(2062) 评论(0) 推荐(0)
生产应用常见坑
摘要:1.内存越界2内存未初始化3sizeof指针来做长度4无限死循环5退出前没有清理干净资源6内存没有释放又赋值7内存重复两次删除8带入测试环境参数9待续 阅读全文
posted @ 2015-12-19 21:05 30斤大番薯 阅读(176) 评论(0) 推荐(0)
Shmget 参数 0600的解释
摘要:Shmget 参数 0600的解释0660 百位6 -- 本用户有读写权。 十位6 -- 同组用户有读写权,个位0 -- 其它用户无读写执行权。与chmod 设法一样。 阅读全文
posted @ 2015-11-06 22:50 30斤大番薯 阅读(692) 评论(0) 推荐(0)
重拾老本行_图像处理
摘要:最近萌发了个念头,又干起了图像处理的老本行,代码写得真欢乐。可惜是在工作后才接触到深度学习,卷积神经网络的设计者真的很牛,很佩服。 阅读全文
posted @ 2015-01-21 23:49 30斤大番薯 阅读(305) 评论(0) 推荐(0)
0xC0000008错误
摘要:今天傍晚发现一个问题 0xC0000008关闭程序时 提示这个错误其实是因为 delete了一些没有初始化或者已经被delete的指针引起的第二个原因是自己没有定义某些类的析构函数如class A{ P*p;}class B{ A *a=new A; P p; a.p=&p;~B(){delete a;}}此时当B析构时,会析构掉p,而A因为保存了一个P的指针,因此使用默认的析构函数时也会delete p;但是此时p的实体已经在B中析构了,此时delete p就会引起错误。 阅读全文
posted @ 2013-04-03 20:38 30斤大番薯 阅读(1130) 评论(0) 推荐(0)
c++写一个类后编译发现class重定义
摘要:这种问题经常都是头文件互相包含导致的在h文件开头加上#pragma once这样这个头文件只编译一次避免了这个问题 阅读全文
posted @ 2013-03-21 22:14 30斤大番薯 阅读(9109) 评论(0) 推荐(0)
转:轻松搞死VS
摘要:有个VS2005的VC++工程可以正常编译,转换到VS2008下编译,编译器出错崩溃了,错误提示大概如下:error PRJ0002 : 错误的结果 1 (从“C:/Program Files/Microsoft Visual Studio 9.0/VC/bin/cl.exe”返回)刚开始很莫名其妙,后来追踪到编译器崩溃前编译的最后一个源文件,经过逐一注释文件中的代码段,终于发现,只要出现下面这样的语句,就可以令VS2008的C++编译器崩溃:fprintf(fp,"%s %d/n","cl.exe会崩溃"); //缺少对应的整型参数导致编译器cl.ex 阅读全文
posted @ 2012-09-03 22:23 30斤大番薯 阅读(199) 评论(0) 推荐(0)
要搞清楚一些东西
只有注册用户登录后才能阅读该文。
posted @ 2012-08-29 17:23 30斤大番薯 阅读(7) 评论(0) 推荐(0)
C结构体中数据的内存对齐问题
摘要:1.先看下面的例子:struct A{ char c1; int i; short s; int j;}a;struct B{ int i; int j; short s; char c1;}b;结构A没有遵守字节对齐原则(为了区分,我将它叫做对齐声明原则),结构B遵守了。我们来看看在x86上会出现什么结果。先打印出a和b的各个成员的地址。会看到a中,各个成员间的间距是4个字节。b中,i和j,j和s都间距4个字节,但是s和c1间距2个字节。所以:sizeof(a) = 16sizeof(b) = 12为什么会有这样的结果呢?这就是x86上字节对齐的作用。为了加快程序执行的速度,一些体系结构以对 阅读全文
posted @ 2012-05-08 22:36 30斤大番薯 阅读(10347) 评论(2) 推荐(1)
Stack overflow的问题
摘要:因为栈上的空间不足以创建512*512的数组,应该转到堆那去解决。也有快速的解决方法把数组弄成全局变量或者malloc出来就行#include <stdio.h>#define M 900#define N 900int a1[M][N];int main( void ){int i,j;for(i=0;i <M;i++)for(j=0;j <N;j++){a1[i][j]=N*i+j+1;printf("%d ",a1[i][j]);if(j==N-1)printf("\n");}return 0;} 阅读全文
posted @ 2012-05-07 09:03 30斤大番薯 阅读(193) 评论(1) 推荐(0)
windows核心编程--SEH(结构异常处理)
摘要:SEH 的工作原理。 Windows 程序设计中最重要的理念就是消息传递,事件驱动。当GUI应用程序触发一个消息时,系统将把该消息放入消息队列,然后去查找并调用窗体的消息处理函数(CALLBACK),传递的参数当然就是这个消息。我们同样可以把异常也当作是一种消息,应用程序发生异常时就触发了该消息并告知系统。系统接收后同样会找它的“回调函数”,也就是我们的异常处理例程。当然,如果我们在程序中没有做异常处理的话,系统也不会置之不理,它将弹出我们常见的应用程序错误框,然后结束该程序。所以,当我们改变思维方式,以CALLBACK 的思想来看待 SEH,SEH 将不再神秘。SEH 是 Windows 系 阅读全文
posted @ 2012-04-28 16:59 30斤大番薯 阅读(579) 评论(0) 推荐(0)
C/C++堆、栈及静态数据区详解 (转载)
摘要:五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化 阅读全文
posted @ 2012-04-28 16:58 30斤大番薯 阅读(210) 评论(0) 推荐(0)


点击右上角即可分享
微信分享提示