Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux下C编程的文件流读写问题

Linux下C编程的文件流读写问题

一直觉得二进制文件读写是个很容易的事,所以一直没在意,最近在写一个http客户端,实现文件下载的时候,发现总有问题,后来才发现是忘记写文件用二进制方式,惭愧的很啊。然后,就在网上搜索了一下,发现通过C语言实现二进制文件读写的资料居然出奇的少,这让我很愤怒,因为虽然这东西很简单,但是对于初学者,往往会需要花很长的时间去弄,一旦明白,又发现花的时间很不值得,罢了,这里通过一个文件拷贝的例子来讲讲二进制文件的读写吧。先介绍函数,我们一共要用到三个函数,fopen...
创建第一个Android程序HelloWord

创建第一个Android程序HelloWord

1.创建一个Android工程,可在菜单中依次点击File->New->Android Project。2.在弹出的对话框中出现的项目意思依次为: “Project name:”,此处填入工程名称; “build target:”,选择新建的Android项目的构建目标,在本文中为两个选项,分别是“Android2.1-update1”和“Google APIs”,前者表示目标环境为Android2.1,后者表示目标环境在Android2.1的...
Linux下malloc函数和OOM Killer

Linux下malloc函数和OOM Killer

Linux下malloc函数主要用来在用户空间从heap申请内存,申请成功返回指向所分配内存的指针,申请失败返回NULL。默认情况下,Linux内核使用“乐观的”分配内存策略,首先粗略估计系统可使用的内存数,然后分配内存,但是在使用的时候才真正把这块分配的内存给你。这样一来,即使用malloc申请内存没有返回NULL,你也不一定能完全使用这块内存,特别是在一次或连续多次申请很多内存的时候。如果一直连续用malloc申请内存,而不真正使用,所申请的内存总数可...
Linux互斥锁、条件变量和信号量

Linux互斥锁、条件变量和信号量

进行多线程编程,最应该注意的就是那些共享的数据,因为无法知道哪个线程会在哪个时候对它进行操作,也无法得知哪个线程会先运行,哪个线程会后运行。所以,要对这些资源进行合理的分配和正确的使用。在Linux下,提供了互斥锁、条件变量和信号量来对共享资源进行保护。一、互斥锁互斥锁,是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。需要的头文件:pthread.h互斥锁标识符:pthread_mutex_t(1)互斥锁初始化:函数原型: int pt...
基于S3C2440嵌入式Linux系统下的一个DS18B20驱动和命令行测试程序

基于S3C2440嵌入式Linux系统下的一个DS18B20驱动和命令行测试程序

在此之前曾经在8051下写了一个DS18B20的简单驱动,大家可以查阅我之前的日记,比较两者的差异。学习嵌入式样Linux也有一段时间了,决定用Linux驱动编程的方法写一个DS18B20的温度传感器驱动,从底层采集温度信息。以下乃本人所写的驱动和测试的源码,嵌入式Linux内核版本为2.6.29,硬件平台是友善之臂的QQ2440,DS18B20引脚连接S3C2440的GPIOB1,程序难免存在一定的漏洞,希望大家指出,顺便说说,使用以下代码的朋友帮忙留一...
Android signed APK程序正式签名方法详解

Android signed APK程序正式签名方法详解

Android程序的签名用户在开发时通过ADB接口上传的程序会自动被签有Debug权限的程序,但是在上传程序到Android Market上或者到设备上时则需要正式签名。Android signed制作方法主要使用Keytool和Jarsigner两个工具制作,具体方法如下: 详细的签名步骤:第一步 生成个人签名密钥库基础数据用keytool生成证书: -alias myandroid 证书别名,-keyalg RSA 指的是采用的RSA算法,-keyst...
ARM920T基于Linux平台下的FPGA驱动开发

ARM920T基于Linux平台下的FPGA驱动开发

Linux操作系统的全称是GNU/Linux,它是由GNU工程和Linux内核两个部分共同组成的一个操作系统。该系统中所有组件的源代码都是自由的,可以有效保护学习成果,因而在嵌入式领域得到了广泛的应用。FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,该器件是作为专用集成电路ASIC (Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,它的出现既...
JAVA和C之间的较量 谁将成为主流语言

JAVA和C之间的较量 谁将成为主流语言

Java的可以迅速的组建应用程序,它对于我们的开发者来说,建立应用程序的速度要远远的高于C语言,如果考虑到网络集群计算环境,Java的优势就更加明显了。世界上又有多少人能用C语言写出又快又正确的大型程序?在这些人中间,又有多少人有能力用C语言写出一个在大型的、异构的网络环境下能够充分发挥各节点计算能力的大规模并行程序?也就是说,你也许有能力把程序效能提高一倍,从而充分发挥一台价值6000元人民币的PC的计算潜力,为客户节省1000元钱。但如果是在一个由 1...
Linux GCC编译C程序

Linux GCC编译C程序

一个c语言程序从源文件到生成可执行文件,编译器需要共经历4个步骤:1) 预处理:把c文件中预处理命令扫描处理完毕,即对源代码文件中的文件包含(#include)、预编译语句(如宏定义#define等)进行分析,此时生成的文件仍然是可读的。2) 编译:把预处理后的结果编译成汇编或者目标模块,即生成汇编语言文件,此时生成的文件仍然是可读的汇编文件。3) 汇编:把编译出来的结果汇编成具体CPU上的目标代码模块,也即此时转换成具体的机器语言代码,此时生成的文件是不...
Android基础教程:Android开发环境搭建

Android基础教程:Android开发环境搭建

一、安装Eclipse直接解压eclipes的安装包到某个目录即可,完全绿色啊~在这里我安装的位置是d:eclipse二、安装SDK这也是比较简单的一步,直接将下载的sdk解压到适当位置即可在这里我解压的位置在D: Android-sdk-windows不过在这里要多一步,要设置sdk的环境变量在“我的电脑”的“环境变量中”的path中添加$(sdk) ools就可以了,我这里添加的是D:android-sdk-windows ools三、安装JDK1.1...
<< 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 >>