- 博客(31)
- 资源 (1)
- 收藏
- 关注
转载 C++ vector的用法(整理)
C++ vector的用法(整理)vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include<vector>;一、vector 的初始化:可以有五种方式,举例说明如下: (1) vector<int> a(10); //定义了10个整型元素...
2018-08-31 14:36:03 667684 36
原创 linux开机启动流程
操作系统的启动分为两个阶段:引导boot和启动过startup,引导阶段开始于打开电源开关,结束于内核初始化完成和systemd进程成功运行,启动阶段接管了剩余工作,直到操作系统进入可操作状态。总体可将LINUX开机启动过程分为四个步骤:1. BIOS上电自检(POST)2. 引导装载程序(GRUB2)3. 内核初始化4. 启动systemd,其为所有进程之父注意,本文以 ...
2018-08-13 09:47:56 4120 1
原创 Win7 64位下Python安装PIL图像处理库
python官网https://wiki.python.org只提供了win32位版本的PIL库,当windows版本为64位时,输入pip install PIL便会出现出错误,无法正确安装和使用PIL。首先,在PIL非官方的64位库下载非官方64位pillow,注意下载符合自己Python的pillow。像我的是2.7版本的,我下载的就是如下图所示: 其次,DOS命令框下,注意此时的文件目录是...
2018-07-15 17:50:52 550
原创 结构体中最后一个成员数组定义0个元素的意义
数组本义不支持动态扩展,但可以通过声明结构体中最后一个成员数组定义为0个元素可巧妙的实现C语言里的数组扩展。但如果定义为指针,则需要单独申请内存,动态拷贝。struct MyData { int nLen; char data[0]; }; 在结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体MyData之后,而这个地址就是结构体后面数据的地...
2018-07-04 20:21:48 1295
转载 Linux如何统计进程的CPU利用率
1. 如何统计进程CPU利用率1.0 概述在Linux的/proc文件系统,可以看到自启动时候开始,所有CPU消耗的时间片;对于个进程,也可以看到进程消耗的时间片。这是一个累计值,可以"非阻塞"的输出。获得一定时间间隔的两次统计就可以计算出这段时间内的进程CPU利用率。所以,是否存在一种简单的,非阻塞的方式获得进程的CPU利用率? 答案是:“没有”。这里给出来一个有趣的比喻:"这就像有人给你一张照...
2018-06-28 09:01:09 4996
原创 pycharm初次安装与使用
PyCharm 是我用过的Python编辑器中,比较顺手的一个。而且可以跨平台,在 mac 和 windows 下面都可以用,这点比较好。 首先预览一下 PyCharm 在实际应用中的界面:(更改了PyCharm的默认风格) 、安装首先去下载最新的Professional版本 pycharm 2017.2,进行安装。可以直接在官网下载。 PyCharm 的激活方式: 1. 推荐购买正版。 2. 可...
2018-06-27 21:30:39 375
原创 sqlite3数据库报错:“打不开数据库文件”
项目中因为追求执行速度和高效管理,采用了sqlite3文本数据库作为系统的数据库,几百次压力测试中出现“打不开数据库文件”错误,导致后期对数据库操作均报错,系统瘫痪。出现该问题,定位方法:1)首先sqlite登入数据库,查看数据库内容是否正确,是否是替换了数据库文件但进程未重新加载导致。经检查,排除该可能性。2)其次查看sqlite3源码执行过程中返回的错误,文件打开失败,open一个文件时失败。...
2018-06-26 08:22:09 7075
原创 /usr/bin/ld: skipping incompatible解决方案
近期需要和友商联调功能,根据友商提供的.a文件和demo实例,编写到工程项目中,编译时发现报错:/usr/bin/ld: skipping incompatible.....问题该问题实质是:链接库文件时,库文件版本与平台版本不对应。通过objdump -a/p查看友商提供的.a文件发现为为64位库文件,而我们自己bin文件为32位,且编译选项已强制为-m32...
2018-05-22 10:07:40 10240 1
原创 linux cooked capture
用wireshark查看包内容时,有时候我们会发现包的数据链路层头名称为linux cooked capture。如图:我们正常的以太网头如下:为何链路层名称为linux cooked capture?因为包是在linux中使用tcpdump,且指定参数-i any来捕获设备上所有网卡上的包。它会把所有包的以太网头都换成linux cooked capture,wireshark对此解释为虚假的协...
2018-05-11 09:28:48 3199
原创 C语言发送SNMP Trap消息
项目需求系统利用SNMP Trap消息上报状态给NMS,考虑使用net-snmp提供的SNMP库函数实现该功能,且需要根据不同端口使用不同的session。1)头文件为了使用 netsnmp 的 API,必须 include 以下这些头文件:12#include net-snmp/net-snmp-config
2018-01-15 16:06:09 4245 2
原创 snmp协议原理
snmp原理snmp:简单网络管理协议,Simple Network Management Protocol。用于网络管理的协议,管理员通过snmp的读操作(GET)向设备获取数据,通过snmp的写操作(SET)向设备执行设置操作;设备通过snmp的trap操作(报警)向管理员通报设备的重要状况改变事件。snmp的基本思想是为不同种类、不同厂家、不同型号的设备定义一个统一的接口和协议,使管
2018-01-06 11:30:14 5335
原创 C语言内嵌Python import时提示undefined symbol错误及解决
项目切gcc 4.6版本时,C语言内嵌了python,运行bin文件import时出现importError错误,提示python-2.7.11/lib/python2.7/lib-dynload/_collections.so: undefined symbol: _Py_ZeroStruct.基本代码如下:#include #include #include int main(
2018-01-04 19:14:52 11522 1
原创 realloc invalid pointer错误
代码运行出现该错误一般是函数传入的指针是malloc的内存指针,函数出参仍为该指针,函数内部对该指针进行操作,入参没有取该指针的指针,导致指针非法使用。如:函数定义U32 realloc_error(char *a){memcpy(a+1, "hello world", strlen("hello world"));}char * a = malloc(255)
2017-12-15 15:22:56 2190
转载 线程分离状态
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 线程的分离状态决定一个线程以什么样的方式来终止自己。在默认情况下线程是非分离状态的,这种情况
2017-12-07 15:07:23 201
原创 struct字节对齐问题
C语言项目开发过程中发现其他模块发给自己模块的消息长度与自己代码sizeof(struct)不一致,经过定位分析发现两边struct字节对齐方式不一致,C语言中默认为四字节对齐,如果struct字节不足4的倍数,则以4的倍数为sizeof最后的大小例如:struct a{int b;char c;}a;此时sizeof(a)则为8个字节,实际需要计算为5个字节,这时需要在s
2017-12-04 10:02:57 636 1
原创 C语言运行报glibc detected malloc corruption错误
C代码编译运行后出现glibc detected malloc corruption错误,实际原因是代码malloc内存大小与memset内存大小不一致,memset时破坏了内存文件系统标志位,后面代码malloc时出现malloc错误,该问题不是必现,如果出现后就会频繁出现,gdb跟踪只能跟踪到代码大概malloc错误地点,然后需要看该地点之前的代码,找到malloc与memset不一致的地方,
2017-12-04 08:51:02 1263
原创 LINUX 命令行变成-bash-4.2$
缺少用户环境配置文件,,那么为什么需要这样文件,这就是跟linux的机制有关联了,因为在linux下每次通过 useradd创建新的用户时,都会将所有的配置文件从/etc/skel复制到新用户的主目录下,一般默认在home下面的新用户主目录,而关于 /etc/skel这个目录,是主要被useradd所用到。-bash-4.2$ source ~/.bashrc-bash: /hom
2016-01-06 16:03:30 10564
原创 递归求解整数数组A[n]的最小整数
//递归找出整数数组A[n]中的最小整数 public int min(int[] A){ return min2(A,0,A.length-1); } private int min2(int[] a, int i, int j) { // TODO Auto-generated method stub if(i >= j){ return a[i]; }else
2015-06-24 15:34:00 446
原创 MATLAB排序函数
sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,'descend')是降序排序。sort(A)若A是矩阵,默认对A的各列进行升序排列sort(A,dim)dim=1时等效sort(A)dim=2时表示对A中的各行元素升序排列看下面的例子 >> A=magic(3)A =8 1 63
2015-05-04 19:45:03 876
原创 c++中 . 和 -> 的区别
.号左边的是个类的对象,或者结构体的对象->号的左边是一个类的对象指针,或者结构体对象的指针如:string s;s.length(); string *s; s->length();
2015-04-16 19:59:00 465
原创 搞定error: #268: declaration may not appear after executable statement
使用MDK调试的时候,出现一下错误:error: #268: declaration may not appear after executablestatement查询后发现问题:变量的声明,不能放在可执行语句的后面,必须在主函数开头声明变量!在程序中申明一个变量时,会出现以上错误。出现编译错误的函数如下:void Scan(void){ GetStart
2015-04-06 18:31:28 20567
原创 STM32 外设操作时钟注意事项
STM32操作外设时,需要首先配置响应外设时钟,然后进行外设的响应配置,程序才能成功运行。如:如果先配置外设,最后打开外设时钟,如下面的程序。则程序编译链接均没有错误,但程序运行没有效果,就是因为外设时钟开启的位置不对。这样就会出现程序运行没有效果。即运行模板例程程序有效果,但运行自己的程序就没有效果,各种配置和程序都还无错。
2015-03-29 16:28:09 840
原创 MySQL JDBC driver jar下载问题
Java编程链接MySQL数据库时需要添加MySQL JDBC driver包,该包需要到官网下载。下载链接为:http://dev.mysql.com/downloads/connector/j/ 下载时主要要选择platform independent ,点击download。就可以下载mysql-connector-java-5.1.31.zip包了,否则下载的是mysql-c
2015-01-16 15:42:45 827
原创 GetDlgItemInt SetDlgItemInt
GetDlgItemIntThe GetDlgItemInt function translates the text of a specified control in a dialog box into an integer value.UINT GetDlgItemInt( HWND hDlg, // handle to dialog box int
2014-10-07 20:42:59 1630 1
原创 windows message 之WM_COMMAND
WM_COMMANDThe WM_COMMAND message is sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is trans
2014-10-07 20:21:48 784
原创 win32应用程序之DialogBox
DialogBoxThe DialogBox macro creates a modal dialog box from a dialog box template resource.DialogBox does not return control until the specified callback function terminates the modal dialog box
2014-10-07 16:14:23 996
原创 win32 application之MessageBox
Win32是指Microsoft Windows操作系统的32位环境。win32程序初学者都要学习messagebox创建对话框。从MSDN中查找messagebox函数:TheMessageBox function creates, displays, and operates a message box. The message box contains an application-de
2014-09-26 21:30:50 689
原创 android程序运行时总出现“Unfortunately,程序名 has stopped” 的问题
程序无误的情况下,总是出现这个问题是由于android API与
2014-08-11 15:30:25 19333 5
原创 运行Eclipse,Android lint出现错误:java.lang.NullPointerException
在Running Android Lint 遇上了错误。
2014-08-11 09:52:37 2624
原创 Eclipse Android创建项目如法正确导入.R包
产生这个问题,是因为你升级了ADT到version 22,但是还需要升级SDK Tools,Platform Tools,Build Tools,如果没有安装后者升级后者,eclipse不会自动生成.R文件。具体操作:1、当你ADT升级到了22后,还需要升级或者安装以上SDK Tools,Platform Tools,Build Tools;2、打开eclipse,点击进入
2014-08-11 09:12:00 1678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人