![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作
Helloguoke
这个作者很懒,什么都没留下…
展开
-
Linux c++程序运行问题汇总
1.root权限运行程序,找不到当前目录动态库linux默认无法调用可执行文件当前目录下的动态链接库文件,比如.so文件,必须要设置exportLD_LIBRARY_PATH=./,可执行程序才能找到当前目录动态库文件。...原创 2019-04-18 14:31:12 · 472 阅读 · 0 评论 -
sqlite数据查询速度慢的可能原因
1.返回数据库字段信息与要查询数据库的数据字段不一致:如下例:返回的字段少个IMGURL String where = String::format("%s='%s'", AppBean::APPID().string(), appid.string()); DbResolver* p = DbResolver::getInstance(); if (p原创 2015-04-13 15:12:03 · 3731 阅读 · 0 评论 -
std::sort函数中的陷阱
前几天收到游戏中一个很严重的bug,执行某项操作的时候会出现卡死的现象。最后调试的时候定位到std的sort函数,发现一进这个函数就出不来了,很可能在里面出现了死循环。刚开始,我还是很诧异。大名鼎鼎,久经考验的的STL算法也会出现死循环?于是baidu了一下,果然在网上也发现不少人碰到过类似情况。出现死循环大多是由于在sort函数中的比较函数里面相等元素返回了true。 std的sort函转载 2015-04-23 17:13:35 · 1221 阅读 · 0 评论 -
xml造成app crash的问题分析
使用xml对UI进行布局时,xmlns命名空间值的对错,编译时不进行检查的,以致App运行时会出现莫名的Crash问题原创 2015-04-03 13:39:42 · 482 阅读 · 0 评论 -
HintBox使用注意事项
创建一个HintBox需要使用HintBox::makeTextN静态成员函数来初始化,不可使用new HintBox及setText来创建HintBox原创 2015-01-23 22:20:31 · 517 阅读 · 0 评论 -
getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别 (字体显示偏大问题)
在dimens.xml定义如下变量:[java] view plaincopy "dp">16dp "sp">16sp Android代码如下:[java] view plaincopyMySystemParams params = MySystemParams.getInstance(转载 2015-02-02 14:49:05 · 1558 阅读 · 0 评论 -
xml布局使用自定义控件
在xml使用自定义控件时,需要使用自定义的xmlns(即xml namespace),其自定义的语法:xmlns:前缀=http://schemas.android.com/apk/res/你的应用程序包名,其中前缀可以随意命名使用方式: xmlns:android="http://schemas.android.com/apk/res/android" xm原创 2015-01-31 10:46:42 · 960 阅读 · 0 评论 -
Android菜单设计(1) : 使用xml文件布局创建 options menu
1. 准备工作 下载几张图片,为menu锦上添花,推荐一个图片网站:http://www.easyicon.cn/ 2. 新建android项目 在项目的res文件下面建立一个名称为menu的文件夹,用来放置xml文件。即menu的布局文件。 目录结构如下,所示: game_menu.xml源码:[xhtml] view plain转载 2015-01-31 21:22:10 · 2022 阅读 · 0 评论 -
最强大android开发中文指南网站
http://wikidroid.sinaapp.com/%E9%A6%96%E9%A1%B5翻译 2015-01-31 22:21:20 · 461 阅读 · 0 评论 -
android progressbar问题汇总
1.setProgressDrawable不好用:可参考以下链接http://bbs.csdn.net/topics/360114831http://stackoverflow.com/questions/6889496/issue-with-using-progressbar-setprogressdrawablehttp://blog.csdn.net/wei701原创 2015-01-26 23:37:06 · 1593 阅读 · 0 评论 -
android LinearLayout无法居中问题分析
1.LinearLayout设置orientation为vertical时,只能使其中控件进行水平居中2.LinearLayout设置orientation为horizontal时,只能使其中控件进行垂直居中原创 2015-01-29 23:18:56 · 971 阅读 · 0 评论 -
android xml文件加载文件慢问题分析
造成xml文件加载文件慢的原因,通常有以下几个方面:1.布局控件的位置冲突或相互矛盾,其逻辑无法构造出界面2.控件的类名写错,这种情况不仅会加载慢,还会造成crash原创 2015-01-29 23:12:01 · 1335 阅读 · 0 评论 -
android xml和代码混合布局要点
1.使用xml对页面进行整体布局,对需要用代码添加的控件,使用空的LinearLayout给其预留位置2.使用LayoutInflater加载xml布局文件3.使用findViewById方法查找出空的LinearLayout4.使用addview方法添加代码创建的控件注:对于布局涉及到自定义控件时,强烈建议使用混合布局原创 2015-01-29 23:04:02 · 902 阅读 · 0 评论 -
sqlite使用
1.下载sqlite源代码头文件和dll库,下载地址http://www.sqlite.org/download.html2.使用vs2015命令行工具编译dll库文件,可得到sqlite3.lib文件具体步骤如下:(1)使用vs2015命令行进入vs2015安装目录D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\下执行原创 2015-09-04 11:54:20 · 607 阅读 · 0 评论 -
libcurl库的使用
1.下载libcurl源代码,下载地址http://curl.haxx.se/download.html2.使用vs2015命令行工具编译源代码,生成lib和dll库具体步骤:(1)使用vs2015命令行进入vs2015安装目录D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\下执行vcvarsall.bat文件,初始化编原创 2015-09-04 11:43:02 · 826 阅读 · 0 评论 -
SIGPIPE详解
转自:https://www.cnblogs.com/klcf0220/p/5959093.html转载 2018-12-18 14:05:33 · 2053 阅读 · 0 评论 -
centos系统安装vnpy
在 centos7 中 vnpy1.9的安装# 软件版本vnpy-1.9CentOS release 7 (Final)gcc (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5)Python 2.7.13 :: Anaconda 4.0.0 (64-bit)Anaconda2-4.0.0conda 4.3.30MongoDB: v2.7.0boost_1_...转载 2018-11-27 19:13:06 · 1435 阅读 · 1 评论 -
gdb调试python程序
最近在为一个监控系统开发agent,需要支持Linux、FreeBSD及Windows等操作系统。复杂的线上环境,带来了一系列诡异的问题,尽管代码上线前在为数不少的测试机器验证过。Python程序吐coredump文件怎么办?很多人都会想到gdb加载coredump文件,然后查看信号及堆栈信息,以此分析原因。堆栈信息在调试中非常有用,但是别忘了,你写的是Python代码,但是gdb给你的是C堆...转载 2018-08-29 08:47:04 · 8262 阅读 · 0 评论 -
Protobuf python版安装
安装python版本的Protocol Buffer,安装方法:Windows下安装: 进入安装包主目录下的python文件夹 执行python setup.py build 执行python setup.py install 备注:编译报错的话,将protoc.exe程序放在安装包主目录./src文件夹下Linux下安装:(1) 解压并进入安装包目录(若已...原创 2018-08-29 08:36:34 · 1734 阅读 · 0 评论 -
protobuf静态库编译
1.解压protobuf包tar -zxvf protobuf-2.4.1.tar.gz2.进入解压目录,开始编译 (1)./configure --disable-shared --prefix=/usr CFLAGS="-fPIC" CXXFLAGS="-fPIC" 备注:64位的so使用protobuf-lite.a必须加-fPIC编译选项,否则编译报错...原创 2018-08-28 09:56:43 · 4487 阅读 · 1 评论 -
TR069协议
3.2 CPE与ACS连接建立3.2.1 CPE连接初始化在以下几种情况下,CPE必须跟ACS建立连接,并调用RPC Imform方法:1.设备出厂后,首次连接网络时2.断电重启3.Periodic Inform interval4.可选的schedul inform方法5.acs url变化6.参数被修改,并且需要通过inform通知本次更新7.ACS标记原创 2016-12-26 13:19:57 · 5498 阅读 · 0 评论 -
sublime python环境配置
sublime配置前需先安装:1.python2.然后使用Python的pip工具安装pylint,在cmd命令下执行:pip install pylint然后开始环境配置:1.通过Package Control安装SublimeCodeIntel,若自动安装不成功,则手动下载SublimeCodeIntel.zip包,解压到Sublime Text 3\Packages目录下原创 2016-09-17 14:41:36 · 1463 阅读 · 0 评论 -
Sublime text 3 中Package Control 的安装与使用方法
Package Control插件本身是一个为了方便管理插件的插件,在Sublime text 3中,Package Control 的安装方法一开始出来的方法是要先安装Git,再输入代码来安装,原因说是“sublime text 3更新的python的函数,说白了就是API不同了,导致基于python开发的插件很多都不能工作”。不过后来出了个方便的安装方法,下面介绍一下。Package转载 2016-09-14 12:31:22 · 1346 阅读 · 0 评论 -
HTTP认证方式
HTTP请求报头: AuthorizationHTTP响应报头: WWW-AuthenticateHTTP认证基于质询/回应(challenge/response)的认证模式。◆ 基本认证 basic authentication ← HTTP1.0提出的认证方法 客户端对于每一个realm,通过提供用户名和密码转载 2016-05-18 11:20:31 · 403 阅读 · 0 评论 -
恺英HR面试
1.你未来的职业规划注:要明确自己的未来的职业规划,并展示对应聘职位的兴趣2.你期望的薪资注:应先试探一下该公司的薪资结构,然后给出自己的期望薪资,如对该公司感兴趣,应标明本人对薪资并不是很看重,可以再协商,本人更看重的是该职位能不能提升自己3.你最近一段时间面试其他公司没有注:没有,这是面试的第一家。原创 2013-11-22 11:02:47 · 834 阅读 · 0 评论 -
大数据时代---维克托•迈尔•舍恩伯格
最近闲着无聊,本着好奇的心态,就下了本舍恩伯格的大数据时代看看,不看还好,一看就舍不得扔下,惊叹于他的创造性思维,更佩服他的远见,下面是我的几点感受。1.大数据时代,数据的样本之多,关系错综复杂,数据的格式化之难,使得原有的数据库模式已不适应2.大数据时代的创造性思维:(1)大数据时代,关注的不再是随机样本,而是全数据 (2)大数据时代,注重的不再是精确性,而是预测性/混杂性原创 2014-03-07 21:40:57 · 3012 阅读 · 0 评论 -
实现一个无法被继承的C++类(转)
一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有,使得这个类的构造函数对子类不可见,那么这个类也就不能继承了。但是,这引出一个问题,客户程序岂不是也无法实例化这个类了?OK,让我们参考一下Singleton模式,用一个static函数来帮助创建这个类的实例,问题就解决了!class CParent原创 2013-11-22 11:02:51 · 474 阅读 · 0 评论 -
C++二面(转)
中午打听了早上参加二面的同学,基本都是二十分钟问问项目搞定。下午过去的时候也碰到了刚面完的同学,同样也说很快。由于去的比较早,在我前面还有个人等面试,不过很快他就进去了,到他出来的时候看了下表,也就面了16分钟。我感觉还是比较轻松的,谁知,到了我,却用了40分钟来问技术...还要各种不会。 开始是些基础的技术问题 1. struct地址对齐 为什么要地址对齐;原创 2013-11-22 11:02:45 · 849 阅读 · 0 评论 -
C++实习生笔试及HR面试总结
一、笔试1.int i=10,j=10,k=3;k*=i+j;则k的值等于多少(k=60)2.int a=1,b=2;则(++a/b)*b--等于多少(2)二、HR面试1.自我介绍(没想到有自我介绍,感到意外,有点小激动)2.职业规划3.对公司的了解4.说说自己的缺点5.最近一段时间面试过其他公司没(真心不知道怎么回答,如实回答还是说没有呢。。。)原创 2013-11-22 11:02:43 · 1120 阅读 · 0 评论 -
源码:微软strcpy,strcat和strcmp…
char* strcpy(char * dst, const char * src){char * cp = dst;while( *cp++ = *src++ );return( dst );} Char* strcat ( char * dst , const char * src ){char * cp = dst;while( *cp )cp原创 2013-11-22 11:02:38 · 538 阅读 · 0 评论 -
上海恺英网络科技有限公司面试题
1.多线程同步与互斥的几种方式?答:临界区、互斥锁、信号量、事件2.接第一题,互斥锁与信号量的区别?答:(1)互斥锁用于线程的互斥,信号量用于线程的同步。 这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别。 互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问 者对资源的访问顺序,即访问是无序的。 同步:是指在互斥的基础上原创 2013-11-22 11:02:21 · 3952 阅读 · 0 评论 -
面试题:应用计数原理
有一无符号整型数组,大小为10, 初始的数值随机,但在[0, 99]之间。请用C/C++语言写一个过滤程序,令数组内的数据互不相等。说明:1.若数组内有相等的数据,可令某一数值加1或减1作出偏移,直至不等为止。2.数组内的数据只能在[0, 99]之间。3.保持数组内的数据位置不变,即对应下标不变。C++实现代码:#include#include#includeusing name原创 2013-11-22 11:02:10 · 651 阅读 · 0 评论 -
腾讯笔试基础题
小明在[1,100]之间猜数字。规则如下:1、如果猜的笑了,会提示小明猜的小了。2、如果猜的大了,只会提示对错,不会提示大小。3、如果有一次猜的大了,以后猜的无论大小,都只会提示错误,不会提示大小。问:至少几次可以猜对数字?第一次应该猜那个数字?解答如下:假设你猜的第一个数字是x。那么最少次数最小也要为x,因为第一次如果猜的大了,会提示你猜的大了,你可以确定正确数字的范围原创 2013-11-22 11:01:31 · 789 阅读 · 0 评论 -
腾讯笔试附加题(2013-4-20)<转>
转自:http://blog.163.com/strive_only/blog/static/893801682012381819571/附加题一、给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]。在构造过程:不允许使用除法;要求O(1)空间复杂度和O(n)时间复杂度;除遍历计数器与a[N]b[N]外,不可使用新的变量(原创 2013-11-22 11:01:27 · 772 阅读 · 0 评论 -
c/c++通过socket发送结构体
原文地址:c/c++通过socket发送结构体作者:少游冰雪世界 c/c++通过socket发送结构可以直接先将结构转化到内存中,再通过send直接发送。 在网络通讯过程中往往涉及一些有关联的参数传递,例如数组,结构体之类的。对于结构体其实方法挺简单,由于结构体对象在内存中分配的空间都是连续的,所以可以将整个结构体直接转化成字符串发送,到了接收方再将这个字符串还原成结构转载 2013-11-22 11:03:33 · 5021 阅读 · 0 评论 -
虚析构函数和构造函数面试中的几个…
1.为什么有时要把析构函数变为虚函数答:这样做是为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用。 当然,并不是要把所有类的析构函数都写成虚函数。因为当类里面有虚函数的时候,编译器会给类添加一个虚函数表,里面来存放虚函数指针,这样就会增加类的存储空间。所以,只有当一个类被用来作为基类的时候,才把析构函数写成虚函数。2.为什么构造函数不能是虚函数答:(1)虚函原创 2013-11-22 11:03:26 · 675 阅读 · 0 评论 -
程序员面试宝典
1.printf("%d",5.01) 结果是大数 printf("%f",5) 结果是0注:printf函数不会进行任何类型转换,它只是从内存中读出你所提供的元素的值(按照%d,%f等控制字符提示的格式)2.int a[]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d%d",*(a+1),*(ptr-1));注:结果原创 2013-11-22 11:03:21 · 569 阅读 · 0 评论 -
C++电话面试
1.快速排序原理2.类成员变量的初始化方法(1、构造函数2、构造函数初始化列表)3.构造函数初始化列表都初始化哪些元素(1)没有默认构造函数的类(2)const对象和引用(3)自定义类型(注:1、2必须使用初始化列表,3建议使用(提高效率))4.一大堆单词怎么查找某一个单词,有什么数据结构原创 2013-11-22 11:03:17 · 1673 阅读 · 0 评论 -
宏与内联函数的区别
内联函数的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;内联函数首先是函数,这就意味着函数的很多性质都适用于内联函数,即内联函数先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。 内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏展开以后,才由原创 2013-11-22 11:02:41 · 635 阅读 · 0 评论 -
volatile的作用
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;原创 2013-11-22 11:02:58 · 435 阅读 · 0 评论