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

首页 / 操作系统 / Linux

Buildroot自动化交叉编译工具

Buildroot自动化交叉编译工具

Buildroot简介Buildroot就是一个自动化生成交叉编译工具的工具,记得当年我搭建自己的ARM交叉编译器的时候,花了很大力气和时间,最好因为各种错误而无奈放弃了,最后还是用别人的交叉编译器,不曾想到有这么有个好用的工具出现,它大大缩减了生成交叉编译器的难度,让嵌入式开发变得更加轻松,让精力花到刀刃上。除了提供自动生成的交叉编译工具外,他还提供了很多选项,例如应用软件的安装,例如vsftp,ssh等。这么好的工具,要一天写完,比较困难,分开一点点弄...
C语言判断用户是否输入-非阻塞函数kbhit

C语言判断用户是否输入-非阻塞函数kbhit

一、基础研究要从地址读取数据,肯定是要定义一个指针变量p,用它来实现变换地址和取值的功能。另外程序是当两个条件中的某一个出现时才停止,所以应该用while~do循环语句循环输出n和d,并用while进行判断。这里实现三个问题:(1)循环地把值转换成地址。(2)判断偏移地址是否为0xffff。(3)判断用户是否输入了‘q’。前两个问题比较好实现,对于第三个问题我们需要注意的是c语言是怎么处理用户输入的。之前做汇编课设的时候我们研究过汇...
实现一个简单的不定参数函数

实现一个简单的不定参数函数

一、基础研究写一个函数showshr(char*,...)它可以接收不定数量的char*型参数,并打印这些指针所指向的字符串。这个题目也是要实现不定长参数的函数,而我们之前研究过printf()函数的打印机制,可以发现他们的原理是一样的,只不过printf()函数是点对点打印,即通过说明符识别要打印的数据类型和要打印的数据个数,它的参数就是要打印的数据本身,而这里要求的函数没有说明符,它的参数是要打印的字符串的地址,只是在最后的参数为0以识别停止打印并返回...
C语言之函数指针

C语言之函数指针

一、基础研究这里研究的内容是函数指针,需要我们在研究后构造程序来描述函数指针数组的用法和向函数传函数指针的方法。指针有很多种:整型指针、结构体指针、数组指针等等,它们的本质是它们的值都是一个地址,只不过整形指针的值是一个int型数据的地址,结构体指针的值是一个结构体变量的地址,而这里的函数指针指向的不是一个固定类型数据的地址了,而是一个函数的入口地址。我们知道inta(char,char);是返回值为int类型,参数为char、char类型的函数a,而书上...
用C语言程序对显存进行操作

用C语言程序对显存进行操作

一、基础研究我们之前研究过变量、数组、函数和指针,他们都可以看作是内存中存储的一段数据,当程序需要用到它们时,会通过它们的地址找到它们并进行调用,只是调用的用途不同而已:变量和数组元素是作为常量来处理,对它们进行赋值、运算、取址等操作,而程序是从首地址开始执行直到返回,指针是用来对地址进行操作,或者对指向的内容进行操作。但是我们要知道,它们在内存中都是以一个字节一个字节的数据形式存储的,我们可将他们的存储空间都看作是一个char型数组。现在定义了一个有20...
从函数指针数组的运用来看程序结构化设计

从函数指针数组的运用来看程序结构化设计

一、基础研究我们之前从底层研究了C语言,也学习了C语言的组成部分和使用方法,但是c语言是一门编程语言,它是要用来编写程序的。要编写一个好的程序,首先要弄清这个程序要干什么,也就是需求分析,之后要思考及确定实现这个目标的方法,怎么样让程序简短、高效、易懂、可移植、方便维护和修改,这涉及到要怎么实现算法、怎样放置数据和代码、怎么写函数、怎么调用函数等等,这就是程序设计。程序设计是一个程序员综合实力的体现,要想设计出好的程序,要有程序设计思想。我们来看程序1,程...
从函数指针数组的运用来看程序结构化设计(2)

从函数指针数组的运用来看程序结构化设计(2)

一、基础研究观察这两个程序:Menu.h:Ues.c:程序执行的结果是在屏幕上显示一个三行的菜单:用户按键选择菜单的某一项可以在屏幕上显示该项所表示的彩色字符串:它是如何实现的呢?我们先来看看menu.h。程序构造了一个结构体,并将菜单的相关信息都放在结构体里。这里有个问题:我们之前定义结构体都是用struct类型名,但是这里是用typedefstruct,这里是给struct的结构体起了一个名字为后面的ItemType,如果是struct加类型名则结构体...
Python来做应用题及思路

Python来做应用题及思路

最近找工作头疼没事就开始琢磨python解应用题应该可以,顺便还可以整理下思路当然下面的解法只是个人理解,也欢迎大佬们给意见或者指点更好的解决办法等于优化代码了嘛,也欢迎大家出点小题目做也可以,如果可以我也会定期专门来做应用题(你弟弟或者你表弟或者外甥等来问应用题在也不用算了,把思路和答案给他让他自己一边研究去。)好了先来看如下题目:1.firstblood题目一:55名学生围成一个圆圈站好,并按照顺时针的方向依次编号1~55。然后1开始报数,隔一个人3号...
Python快速生成注释文档的方法

Python快速生成注释文档的方法

今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等。一看别人专业的大牛们写的文档多牛多羡慕,不用担心我们可以让python为我们生成基本满足的说明文档,一来可以提高代码整体阅读性,二来可以将代码的整体结构看着也更清晰,这样在交接的时候可以省很多麻烦,其它同事在接手你工作的时候也不会一行行去问你这是什么那是什么的,因为注释已经很直观的表述了,在整合的时候可当说明文档给客户简单说明(主要是给你B...
Python基础中所出现的异常报错总结

Python基础中所出现的异常报错总结

今天我们来探索python中大部分的异常报错首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等。打个比方很多公司年终送苹果笔记本,你程序话思维以为是(MAC)电脑笔记本,结果给你个苹果+笔记本。。。首先类型不对,数量也不对。先来看几个常见的报错如下:NameError命名错误 原因是: name "a" is not defined 命名a还未定义 简单来说就是程序不知道a带表谁 如果a=1 ...
实现一个基于tcc/tlink的简单的编译链接工具

实现一个基于tcc/tlink的简单的编译链接工具

一、基础研究在这里我们需要提供一套新的c语言开发工具cc,它支持的c程序不是从main开始运行而是从CMain开始运行。书上已经对该工具程序进行了需求分析:(1)要在屏幕中间显示彩色的字符串;(2)等待用户输入,按下任意键后开始运行程序员写的程序。也给出了由需求分析进行的功能分析:代码文件main.obj实现打印字符串、等待输入、调用程序的功能。编译链接文件cc.exe实现调用tcc编译文件、调用tlink连接文件的功能。新建文件夹,在其中实现main.c...
用extern关键字使程序更加清晰

用extern关键字使程序更加清晰

一、基础研究之前基于tcc、tlink实现一个新的编译连接工具cc.exe,用到的文件有cs.lib、c0s.obj、main.obj,其中main.obj是我们自己加入的文件,它可以实现开始显示彩色字符串“welcometoc”,等待用户按键后执行程序,现在我们要把它替换为下面的程序编译成的obj文件:观察程序,发现在定义指针code和函数指针f的时候用到了extern关键字。extern可置于变量或者函数前,以表示变量或者函数的...
C语言里用结构体和指针函数实现面向对象思想

C语言里用结构体和指针函数实现面向对象思想

一、基础研究观察如下两个程序a.c和b.c:A.c:B.c:这两个程序都是要实现在屏幕上第10行40列打印一个绿色的字符c:这两个程序的数据组织方式是一样的,都是使用结构体,而且对共性和个性的分离的思路也是一样的,都是将共性封装在main函数里,将个性实现在子函数里。但是a.c和b.c封装和分离的角度是不一样的,a.c没有将字符和颜色的属性赋值分离出来,而只是将显示功能分离出来,b.c将字符、颜色的赋值和显示功能都分离了出来,用三个子函数实现,并将相对应的...
Java消息队列--JMS概述

Java消息队列--JMS概述

1、什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合。2、J...
消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ

消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ

Dissecting Message Queues概述: 我花了一些时间解剖各种库执行分布式消息。在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量.。消息队列已经被分为两组:brokerless和brokered。 brokerless消息队列是对等的,没有中间商参与信息的传递,而brokered队列有一些服务器端点之间。性能分析的一些系统: Brokerless nanomsg ZeroMQ Bro...
Java 时间类-Calendar、Date、LocalDate/LocalTime

Java 时间类-Calendar、Date、LocalDate/LocalTime

1、Date 类 java.util.Date是一个“万能接口”,它包含日期、时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪些部分的数据是有用的,哪些部分的数据是不能用的。 1.1 Date的构造方法 Date 是我们使用的最多的一个日期类,Date提供的构造方法在官方API中有一下几种: Date 类提供了多种构造方法,但是目前有很多方法都已经不建议使用public ...
深入Java虚拟机--判断对象存活状态

深入Java虚拟机--判断对象存活状态

程序计数器,虚拟机栈和本地方法栈 首先我们先来看下垃圾回收中不会管理到的内存区域,在Java虚拟机的运行时数据区我们可以看到,程序计数器,虚拟机栈,本地方法栈这三个地方是比较特别的。这个三个部分的特点就是线程私有的,它们随着线程的创建而诞生,也因线程的结束而灭亡。栈中的栈帧随着方法的进入和退出会有条不絮的执行着进栈和出栈。每一个栈帧中分配多少内存,基本上是在类结构确认下来的时候就已知的,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过...
Java 序列化与反序列化

Java 序列化与反序列化

1、什么是序列化?为什么要序列化? Java 序列化就是指将对象转换为字节序列的过程,而反序列化则是只将字节序列转换成目标对象的过程。 我们都知道,在进行浏览器访问的时候,我们看到的文本、图片、音频、视频等都是通过二进制序列进行传输的,那么如果我们需要将Java对象进行传输的时候,是不是也应该先将对象进行序列化?答案是肯定的,我们需要先将Java对象进行序列化,然后通过网络,IO进行传输,当到达目的地之后,再进行反序列化获取到我们想要的对象,最...
浅谈单片机中C语言与汇编语言的转换

浅谈单片机中C语言与汇编语言的转换

做了一单片机设计,要用C语言与汇编语言同时实现,现将这次设计的感受和收获,还有遇到的问题写下,欢迎感兴趣的朋友交流想法,提出建议。单片机设计:基于51单片机的99码表设计软件环境:Proteus8.0 + Keil4要求:1,开关按一下,数码管开始计时。2,按两下,数码管显示静止。3,按三下,数码管数值清零。C语言程序如下:#include<reg51.h>#define uint unsigned int#define uchar unsig...
<< 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 >>