易截截图软件、单文件、免安装、纯绿色、仅160KB

C 学习笔记: 移位操作练习。

#include <stdio.h>
unsigned int reverse_bits(unsigned int value)
{
    unsigned int answer;
    unsigned int i;
    answer = 0;
   
    for(i=1;i!=0;i<<=1){ //此循环可以忽略机器的差异。64位和32位皆可用,增强此代码的可移植性
        answer <<=1;
        if(value & 1)
            answer |= 1;
        value >>=1;
    }
    return answer;
}
int main(void)
{
    unsigned int get_answer=reverse_bits(13);
    int i=31;
    char t;
    while(i)
    {
        t ='0'+ ((get_answer >> i) & 1);
        printf("%c",t);
        i--;
    }
}
<<C和指针>> 第5章练习题。
Linux 2.6 kernel中的set_bit操作:
需要考虑机器是32位还是64位的计算机。
static inline void set_bit(int nr, volatile unsigned long *addr)
{
    int *a = (int *)addr;
    int mask;
    //unsigned long flags;
    a += nr >> 5; 
    mask = 1 << (nr & 0x1f);
    //local_irq_save_hw(flags);
    *a |= mask;
    //local_irq_restore_hw(flags);
}


相关文档:

python的C、c++扩展

python的C、c++扩展
http://blog.chinaunix.net/u3/110228/showart_2148725.html
python的强大不仅表现在其功能上,而且还表现在其扩展能力上。
使用C/C++很容易编写python的模块,扩展python的功能。
同时将性能要求比较高的代码使用C/C++编写,能更好的弥补
脚本语言执行速度慢的缺陷。
1. python的C语言扩展
1.1 ......

C# C/S程序出错:ContextSwitchDeadlock is detected

今天在VS2005调试一个C# C/S程序,当通过RFC与SAP连接时间过长时,出现此错误,在网上找到解决办法。
VS2008上的一个程序,通过Oracle.DataAccess.dll执行drop user
cascade操作,我在sqlplus执行此操作大约需要一分钟左右时间,当我在VS2008中debug启动此程序时,一直接收到
“ContextSwitchDeadlock is detected& ......

程序员的自我修养: 程序运行的基石 C/C++运行库

一个C语言运行库大致包含了如下功能:
1. 启动与退出: 包括入口函数及入口函数所依赖的其它函数等
2. 标准函数: 由C语言标准规定的C语言标准库所拥有的函数实现.
3. I/O: IO功能的封装和实现
4. 堆:堆的封装和实现
5. 语言实现: 语言中一些特殊功能的实现.
6. 调试: 实现调试功能的代码.
在这些运行库的组成成分中, C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号