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

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

首页 / 操作系统 / Linux

递归编译的Makefile的实现

递归编译的Makefile的实现

最近写了一个递归Makefile,目的是既可以实现子模块的单独编译,也可以不做任何修改就和整个程序的整体进行无缝衔接的编译。具体的思路是借助第三方文件,将子模块编译好的.o文件的路径自动写到config.mk文件中,在总控Makfile中只需要include这个config.mk就可以。单个模块的编译只需要cd到相应目录就可以进行本模块的单独编译,整个程序的编译也只需要cd到顶层目录,分别执行make config,make,make install就可以...
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将字符、颜色的赋值和显示功能都分离了出来,用三个子函数实现,并将相对应的...
<< 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 >>