Welcome 微信登录

首页 / 操作系统 / Linux

Python 二进制读写

Python 二进制读写

总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack("i",a)此时bytes就是一个string字符串,字符串按字节同a的二进制存储内容相同。再进行反操作现有二进制数据...
U-Boot布局及初学的一些文摘

U-Boot布局及初学的一些文摘

下例:第一阶段程序流程图SVC模式切换|针对特定SOC的设置|lowlevel_init---->I/Dcache, MMU,sdram|relocate|进入引导第二阶段uboot1.1.6ARCH=arm920tCPU=S3C2410编译后生成的二进制文件,也就是机器码,这里只是该文件的前16行,不过第一阶段引导的关键代码都在这里了,首先是机器加电PC=0,而这部分代码会被加载到steppingstone里执行。存储方式:高位高字节0000000...
用Java遍历所有当前运行环境

用Java遍历所有当前运行环境

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项...
S3C2440驱动篇—Linux平台设备驱动

S3C2440驱动篇—Linux平台设备驱动

在设备驱动程序中经常会见到和platform相关的字段,分布在驱动程序的多个角落,这也是2.6内核中比较重要的一种机制,把它原理弄懂,对以后分析驱动程序很有帮助:在linux2.6设备模型中,关心总线,设备,驱动这三个实体,总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动。相反,在系统每注册一个驱动的时候,寻找与之匹配的设备,匹配是由总线来完成的。一个现实的Linux 设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB...
让你费解的函数原型 - Linux 下的 signal - 函数指针

让你费解的函数原型 - Linux 下的 signal - 函数指针

做Linux下软件开发的对signal函数应该不会陌生,但是你看过它的函数原型吗?如果你看了,你懂它了吗。要是有疑问,来看看我的解释吧。 先说说signal函数是干嘛的。signal函数用于向系统注册处理某一信号的函数,说白了,就是告诉系统,当某个信号发生了,执行这个函数。当signal被调用时,它返回调用前处理同意信号的函数的指针。在signal.h头文件中,它的声明如下:void(*signal(intsig_num,void(*handler)(in...
Linux基础:函数指针的强制类型转换

Linux基础:函数指针的强制类型转换

先给出结论:函数指针是可以通过强制类型转换而指向具有不同函数签名的函数的,但是,转换后,该函数指针没办法正确调用所指向的函数----不能给函数传递参数。 下文给出得出这个结论的小故事。 前几天的任务要求写一个Logger类,该类对外提供一些静态的方法,但不生成对象。该类的主要作用是用来输出消息,不同的是可以由用户选择输出到控制台或是磁盘文件,当然还可以不输出或是两个都输出。 我的想法是对不同的输出,由不同的函数来执行,这样我通过定义一个函数指针,在用...
多线程的同步 critical section 类的用法与解析

多线程的同步 critical section 类的用法与解析

不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。每个线程中访问临界资源的那段代码称为临界区(Critical Section)。 每个线程中访问临界资源的那段程序称为临界区(Critical Section)(临界资源是一次仅允许一个线程使用的共享资源)。每次只准许一个线程进入临界区,进入后不允许其他线程进入。不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它进行访问。 多个线程中涉及到同一个临界资源的临界区称为相关...
Android-编译FreeImage For Android

Android-编译FreeImage For Android

要在一个Android项目里使用FreeImage库,所以移植到Android中 最麻烦的也是最核心的就是这个MakeFile,R5编译有问题,正好R6诞生了编译的过程中出现了无法找到‘swab’方法的错误,有人提交了一个path解决了这个问题点击下载编译过程中遇到 lstdc++ 无法找到的情况,所以LIBRARIES就写死了:LIBRARIES = -L $(SYSROOT)/usr/lib/ -lstdc++include Makefile.srcs...
让你的 C 程序更有效率的 10 种方法

让你的 C 程序更有效率的 10 种方法

任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。本文向你介绍规范你的C代码的10种方法。1. 避免不必要的函数调用考虑下面的2个函数:void str_print( char *str ){ int i; for ( i = 0; i < strlen ( str ); i++ ) { printf("...
<< 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 >>