既然选择远行,便只顾风雨兼程!
暂时未有相关通用技术能力~
阿里云技能认证
详细说明首先下载:protobuf-2.5.0.tar.gz 和protoc-2.5.0-win32.zip。两者的版本要对应; 将下载的google protobuf解压,会看到一个python目录,Windows下可将vsprojects\Debug下的protoc.exe拷贝到python目录下。
嵌入式系统中的各个任务都是以并发的方式来运行的,并为同一个大的任务服务,它们不可避免地要共同使用一些共享资源,并且在处理一些需要多个任务共同协作来完成的工作时,还需要相互的支持和限制。因此,对于一个完善的多任务操作系统来说,系统必须具备完备的同步和通信机制; 在多任务合作工作中,os应该解决两...
os中引入进程的目的是,为了描述和实现多个程序的并发执行,以改善资源利用率及提高系统的吞吐量。 为什么要引入线程?这是为了减少程序并发执行时系统所付出的额外开销(堆栈切换的开销等),使os具有更好的并发性。
实时任务:real-time task 具有及时性要求的,常常被重复执行的特定进程,在实时系统中习惯称为 任务; 按照任务执行时是否呈现周期性来分类: 1、周期性实时任务;要求按指定的周期循环执行,以便周期性地控制某个外部事件; 2、非周期性实时任务,任务的执行无明显的周期...
一、安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250-193 ~]# python Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) [GCC 4.
python解决ImportError: No module named google.protobuf 关于protocol buffer的优点,就过多涉及;如果涉及到数据传输和解析,使用pb会比自己去写解析代码更有效率,至少对于大部分而言是这样的。
中断是计算机系统处理异步事件的重要机制。当异步事件发生时,事件通常是通过硬件向cpu发出中断请求的。在一般情况下,cpu响应这个请求后会立即运行中断服务程序来处理该事件; 为了处理任务延时、任务调度等一些与时间有关的事件,任何一个计算机系统都应该有一个系统时钟。
如果在某个函数中包含了yield, 这意味着这个函数已经是一个Generator, 它的执行 会和其他普通的函数有很多不同。 比如: def h(): print 'To be brave' yield 5 h() 可以看到,调用h()之后,print语句并没有执行, 这就是yield, 那么,如何让print语句执行呢? 这就是接下来要讨论的问题; yield 是一个表达式(expression) m = yield 5 表达式(yield 5)的返回值将赋值给m,所以,认为 m = 5 是错误的。
堆栈,就是在存储器中按数据“后进先出(LIFO)【类比杯子】”的原则组织的连续存储空间,为了满足任务切换和响应中断保存CPU寄存器中的内容及存储任务私有数据的需要,每个任务都应该配有自己的堆栈, 注意点:堆栈的增长方向是随系统所使用的处理器不同而存在差异,有些处理器要求堆栈的增长方向是向上的,而有些则是要求堆栈的增长方向是向下的; 当cpu启动运行一个任务时,cpu的各寄存器总是需要预置一些初始数据,例如指向任务的指针,程序状态字PSW等; 那么,在系统启动任务时,CPU从何处可以获得这些数据呢?一个最方便的方法是让cpu从这个任务的任务堆栈里获得这些数据/。
暂停机制: 有3种方式可以通知GDB暂停程序的执行。 a.断点: 通知GDB在程序中的特定位置暂停执行; b.监视点:通知GDB当特定内存位置(或者涉及一个或多个位置的表达式)的值发生变化时暂停执行; c.捕获点: 通知GDB当特定事件发生时暂停执行; 容易混淆的是,在GDB文档中将这3个机制都称为断点。
1、使用调试工具确定段错误的位置; 当发生段错误时,执行的第一步操作应该是在调试器中运行程序并从重新产生段错误; 调试器将指出发生这种错误的代码行。 然后,可以通过调用调试器的反向跟踪(backtrace)功能获得其他有用信息。
拥有c背景的程序员一定熟悉传统的除法,也就是说,对整形操作数,会执行“地板除”(floor, 取比商小的最大整型)。例如5除以2等于2.5,其中“2”就称为商的地板;即“地板除”的结果; 传统除法: 如果是整型除法,传统除法会舍去小数部分,返回一个整形(地板除),如果操作数之一是浮点型;则执行真正的除法。
首先,我想告诉自己的是:我跟别人不一样,选择不一样,注定要走的路不一样。
程序启动: A.冷启动 gdb program e.g., gdb ./cs gdb –p pid e.g., gdb –p `pidof cs` gdb program core e.
1. MYSQL SQL_NO_CACHE的真正含义 http://www.dewen.org/q/5149/Mysql 是 结果不缓存,但查询还是缓存了。 如果要重新测试,就在查询前先执行一下"FLUSH QUERY CACHE",清空一下query cache 1.
如何将自己写的库加入到python的库路径中: 首先查看python包含的库路径,步骤如下: a、打开python命令界面 b、import sys c、sys.path 1、在python安装目录下的\Lib\site-packages文件夹中建立一个my_python.pth文件(名字随意,后缀要是.pth): windows下示例:D:\\my_python\ linux下示例:/root/my_python 2、也可以动态添加库路径。
python单例模式: Python真的需要单例模式吗?我指像其他编程语言中的单例模式。 答案是:不需要! 因为,Python有模块(module),最pythonic的单例典范。
python中的变量: 一个变量是局部还是全局,在编译函数的时候就已经决定,因此读变量值的时候也不会逐层向外查找。变量是全局还是局域,根据如下3条: 1. 如果函数内部有global语句,那么它声明的变量是全局的。
如果键值是string型,直接输出就可以了,multimap是排好序了的, STL的map表里有一个erase方法用来从一个map中删除掉指令的节点eg:map mapTest;typedef map::iterator ITER; ITER iter=mapTest.
本章要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿 进程定义: 可并发执行的程序,在一个数据集合上的运行过程; 申请/拥有资源的最小单位; 程序定义:静态概念,是指令和数据的集合,可长期存储; 进程与程序对应关系: ...
linux下常用时间类型有四种: time_t 、 struct tm、 struct timeval 、 struct timespec 1、time_t 时间函数 time_t 类型在time.
操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体是实的,即存在的,而后者是虚的,仅是用户感觉上的东西。相应的,用于实现虚拟的技术称为虚拟技术,在操作系统中利用两种方式实现虚拟技术,即时分复用技术和空分复用技术。
gets函数,从标准输入读取一行文本,一行输入由一串字符组成,以一个换行符结尾; gets函数丢弃换行符,并在该行的末尾存储一个NUL字符(类似‘\0’), 然后返回一个非NULL值。 当gets函数被调用但事实上不存在输入行时,它返回NULL值。
类的普通属性: dir(Myclass), 返回一个key列表; Myclass.__dir__,返回一个字典; 1、类的数据属性; 2、类的方法; 类的特殊属性: 1、Myclass.
函数重载: 1、相同的范围内(即同一类中) 2、函数名相同; 3、参数不同; 4、virtual关键字可有可无; 函数覆盖:虚函数的功能、动态多态 (父类中必须有virtual)========派生类函数 覆盖掉 基类函数; 指派生类中存在重新定义的函数,其函数名、参数、返回值类型必须同父类中相对应被覆盖的函数严格一致。
先参照 《本地yum源安装GCC 》安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题。在这里做点记录,希望也能帮到别人。
Linux环境下yum源安装GCC 前提条件是有Linux环境的安装盘ISO文件 在Linux系统中创建两个目录,一个是用来存放ISO文件,一个是用来挂载该ISO文件,如下: $mkdir /root/iso; $mkdir /root/repo; 把Linux安装文件IS...
转自:http://www.cnblogs.com/ypchenry/p/3668572.html 1.gdb的原理 熟悉linux的同学面试官会问你用过gdb么?那好用过,知道gdb是怎么工作的么?然后直接傻眼。
转自:http://os.51cto.com/art/201401/426464.htm 有时候,当你登录进入到Linux桌面后,可能想自动启动某个程序。这类启动程序在你登录进入到桌面后,可以进行面向整个系统的配置(比如自动代理),或者针对特定用户的桌面定制(比如Conky)。
我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示: 但因字数限制,特撰此文着重阐述下:程序员如何快速准备面试中的算法,顺便推荐一些相关的书籍或资料。
什么是长连接,什么是短连接? TCP/IP通信程序设计的丰富多样性。刚接触TCP/IP通信设计的人根据范例可以很快编出一个通信程序,据此一些人可能会认为TCP/IP编程很简单。其实不然, TCP/IP编程具有较为丰富的内容。
转自:http://phinecos.cnblogs.com/ 1 #!/usr/bin/python 2 #coding=utf-8 3 4 #@author:dengyike 5 #@date:2010-09-28 6 #@version:1.
1 #include 2 using namespace std; 3 4 class Father 5 { 6 public: 7 ~Father() 8 { 9 cout
c++告诉我们在回收new分配的单个对象的内存空间的时候用delete, 回收new[ ]分配的一组对象的内存空间的时候用 delete[ ]; 1 #include 2 using namespace std; 3 4 class Father ...
1 STL的map表里有一个erase方法用来从一个map中删除掉指令的节点 2 eg: 3 map mapTest; 4 typedef map::iterator ITER; 5 ITER iter=mapTest.
ClientSocket的控件属性Socket:此属性参数是应用程序之间通信的端点。Address:此属性参数为字符串类型,客户端确定服务器端的IP地址。 Host:服务器端的主机名称。Post:服务器端的监视端口。
(1)pyhton shell下导入MySQLdb失败。http://pypi.python.org/pypi/MySQL-python/(2)下载解压MySQL-python。http://pypi.
文件的存储方式: 文件都有自己的存储格式,比如最常见的txt,cpp,h,c,xml ,png, rmvb各种格式,还有自定义格式。这些文件不论是什么格式,都是存储在计算机硬盘里的2进制格存储,对应不同文件格式,有不同的软件解析。
转自:http://www.cnblogs.com/autocrat/archive/2010/05/05/1727630.html c++ using namespace std 详解 所谓namespace,是指标识符的各种可见范围。
在vim中提供2中方法来在其他文件或者文件夹中搜索字符串,第一种是vimgrep还有一种是grep。 如果只是在当前打开的文件中查找字符串的,使用 :? 后面加上想要搜索的字符串就可以。 这里要解决的是在别的文件中,也许这个文件还没有打开,或者需要在多个文件中操作,比如在当前文件夹下面所有.c的文件中查找,或者在莫个文件夹中查找。
1 #include 2 #include 3 #include 4 #include 5 6 typedef void* (*fun)(void*); 7 8 fun fun1, fun2; 9 10 pthread_mutex_t pmu =...
protobuf的简单的使用,不过还留下了一个问题,那就是之前主要介绍的都是对简单数据的赋值,简单数据直接采用set_xx()即可,但是如果不是简单变量而是自定义的复合类型变量,就没有简单的set函数调用了,下面看一个简单的例子。
MySQL++数据库操作(1)、mysqlpp::Connection con(false); //定义了mysql连接对象; (2)、con.set_option(new mysqlpp::SetCharsetNameOption("utf-8")); //设置字符编码为uft8 ...
原文转自:www.cnblogs.com/aicro mysqlpp:: Connect类型主要负责连接事宜,这是在所有开始mysql操作之前必须进行的(这是句废话)。 该类型的主要的结果如下所示 mysqlpp::OpeitonalExceptions 通过查看源码,我看到OptionalExceptions就是一个对于一个表示“是否需要抛出异常”的变量的包装。
C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。
内存的编号: 一个字节(8个位)一个字节编号(即 8个1 或者 8个0) 一个字节一个编号:编号即地址。地址(内存单元的编号) 指针: 指针的重要性 1、 表示一些复杂的数据结构 2、快速的传输数据 3、使函数返回一个以上的值 4、能够直接访问硬件 5、能够方便的处理字符串 6、是理解面向对象语言中引用的基础。
1、linux初步介绍:2、linux的第一次接触:3、linux用户管理4、linux常用命令(3600+个)、5、linux下所有者,所在组和其他组的介绍6、linux下文件和目录权限机制 linux的吉祥物:企鹅linux的特点:1、免费的/开源2、支持多线程(考察系统的标尺)/多用户3、安...
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、 系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
转自:http://blog.csdn.net/yfkiss/article/details/6729364 1. pstree pstree以树结构显示进程 $ pstree -p work | grep ad sshd(22669)---bash(22670)---ad_prepro...
void *p = malloc(100) string s = new(p) string(); free p 而s未被free掉;自己实现free; 该写法可以大大提高代码效率!!! sys:1: DeprecationWarning: Non-ASCII character '\xe6' in file 0730.