C语言中宏的使用(#,##,do…while(0)宏)
1.预定义宏的使用__FILE__,__FUNCTION__,__LINE__。
#include
void fun(void)
{
char v1;
short v2;
int v3;
long v4;
printf("v1: %x\n",&v1);
printf("v2: %x\n",&v2);
print...
分类:
编程语言 时间:
2014-06-24 15:29:13
阅读次数:
214
人生苦短,我用python,最近实习一直在用工作,因为我做的工作涉及到海量数据,程序跑下来用上代理,一个月可能也跑不完,但是我快要回去考试两周,作为一个强迫症的coder,我必须要得知我的程序怎么了!!!所以我让我的程序成功执行一段时间,但是我又是非常“懒惰”的人(其实优秀的程序员都要很“懒惰”呢!坚决写简洁的代码,如果可以,越短越好,所以前短时间写了个160行的py 2048.),看了好多版本,...
分类:
编程语言 时间:
2014-06-24 19:42:11
阅读次数:
205
#include
#include
#include
using namespace std;
void Test()
{
int ran_num = 0;
cout<<"不指定seed, ";
for(int i=0; i<10;i++)
{
ran_num = rand()%6;
cout<<ran_num<<" ";
...
分类:
编程语言 时间:
2014-06-25 20:02:59
阅读次数:
206
1.线程环境初始化
图13-1
Py_InitializeEx,Python会首先调用 PyInterpreterState_New创建一个崭新的PyInterpreterState对象。
图13-2
创建了PyInterpreterState(进程状态)对象之后,Python会调用PyThreadState_New创建PyThreadState(线程状态)对象
图13-3
全局变量_PyThreadState_Current维护着当前活动的线程
PyInterpreterState对象中维护着所有的PyT...
分类:
编程语言 时间:
2014-06-24 20:19:50
阅读次数:
335
自定义配置文件到spring 中,有时候想做一些数据结构的配置化信息,根据业务做一个扩展。
首先:
在项目的META-INF目录下新建两个文件spring.handlers,和spring.shcemas
Spring.handlers在类org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver中已经写死...
分类:
编程语言 时间:
2014-06-25 00:32:16
阅读次数:
304
Peterson's algorithm (AKA Peterson's solution) is a concurrent
programming algorithm for mutual
exclusion that allows two processes to share a single-use resource without conflict, using only shar...
分类:
编程语言 时间:
2014-06-25 19:38:19
阅读次数:
748
这篇文章主要介绍了Python程序员代码编写时应该避免的17个“坑”,也可以说成Python程序员代码编写时应该避免的17个问题,需要的朋友可以参考下
一、不要使用可变对象作为函数默认值
复制代码代码如下:
In [1]: def append_to_list(value, def_list=[]):
...: def_list.append(va...
分类:
编程语言 时间:
2014-06-24 23:35:15
阅读次数:
302
看了2个blog后还是没闹明白 因为Django的东西 所以自己写了test的例子终于明白了
首先给出结论---->别人总结的可惜一开始没闹明白:
1. super并不是一个函数,是一个类名,形如super(B, self)事实上调用了super类的初始化函数,
产生了一个super对象;
2. super类的初始化函数并没有做什么特殊的操作,只是简单记录了类类型和具体实例;...
分类:
编程语言 时间:
2014-06-24 18:39:17
阅读次数:
342
如果你的项目使用ExtJS作为表现层,你会发现,SESSION超时控制将是一个问题。
本文将就自己的经验,来解决这一问题,当然,解决问题并非只有一种方法,我只是提出我的方法。...
分类:
编程语言 时间:
2014-06-24 19:55:01
阅读次数:
284
(一)
那么当程序的控制流到达这个变量定义时,变承受构造成本;当变量离开作用域时,便承受析构成本。
string encryptPassword(const std::string& password) {
using namespace std;
string encrypted;
if(password.length() < MinimumPasswordLengt) {
t...
分类:
编程语言 时间:
2014-06-24 23:24:54
阅读次数:
297
特定容器算法
lst.merge(lst2)
将来自lst2的元素并入到lst。这两个都必须是有序的。
lst.merge(lst2, comp)
元素将从lst2删除,第一个版本使用
lst.remove(lst2)调用erase删除掉与给定值相等(==)或令一元谓词为真的每个元素
lst.remove_if(pred)
lst.reverse() 反转...
分类:
编程语言 时间:
2014-06-25 19:32:39
阅读次数:
200
/*扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):
3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER
输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-"两边没有空格,如:4 4 4 4-joker JOKER。...
分类:
编程语言 时间:
2014-06-24 23:25:30
阅读次数:
517
Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。
Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现来确定的。Linux 2.6上的HotSpot使用了NPTL机制,JVM线程跟内核轻量级进程有一一对应的关系。线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响到...
分类:
编程语言 时间:
2014-06-25 19:20:52
阅读次数:
233
标准库:一些最爱
sys
sys这个模块让你能够访问与python解释器联系紧密的变量和函数。
sys模块中一些重要的函数和变量
函数/变量 描述
argv 命令行参数,包括脚本名称
exit([arg]) 退出当前程序,可选参数为给定的返回值或者错误信息
modules 映射模块名字到载入模块的字典
path 查找模块所在目录的目录名列表
platform 类似sunos5或...
分类:
编程语言 时间:
2014-06-25 19:21:36
阅读次数:
230
(一)
缺省情况下swap动作可由标准程序库提供的swap算法完成:
namespace std {
template
void swap(T& a, T& b) {
T temp(a);
a = b;
b = temp;
}
}这个函数是异常安全性编程的核心,并且是用来处理自我赋值可能性的一个常见机...
分类:
编程语言 时间:
2014-06-25 00:30:27
阅读次数:
336
问题
归并排序是一种常用的排序方法,本文讲述了其基本思想以及用python实现的方法。
在python中,有一个非常强大的模块heapq,提供了merge方法,让归并排序在python中更简单了。
思路说明
归并操作过程:
1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置
3. 比较两...
分类:
编程语言 时间:
2014-06-24 21:07:01
阅读次数:
269
JavaMail简单应用...
分类:
编程语言 时间:
2014-06-24 19:47:25
阅读次数:
212
垃圾收集算法
引用计数
堆中的每个对象都有一个引用计数,当对象被引用时引用计数加1,当对象的引用被重新赋值或超出有效区域时引用计数减1,当一个对象被回收后,它所引用的对象的引用计算减1。当一个对象的引用计数变为0时就被回收。
引用计数的优点:
垃圾收集器可以很快地执行,当一个对象的引用数为0时就可以回收这个对象,垃圾收集交织在程序的正常执行过程中,不用长时间中断程序的正...
分类:
编程语言 时间:
2014-06-24 22:11:09
阅读次数:
275
生产者:不停地往队列中放数据
消费者:不停地从队列中拿数据
两者通过两个信号量同步
当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢?
我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:
编程语言 时间:
2014-06-25 00:07:17
阅读次数:
225
实战中MAVEN私服的搭建
利用maven来管理项目的构建,报告和文档已经成为了我们现在的共识,任何开源软件基本都在使用,当然我们现在的大部分公司也基本都在使用,我把以前使用maven的一些经验在进行加工呈现给大家,希望可以帮助一些当前正在学习maven的初学者们还有刚毕业的学子们!
我会结合Eclipse+nexus+maven的实践来个大家做介绍!
Ne...
分类:
编程语言 时间:
2014-06-24 20:25:57
阅读次数:
438