Uso básico de makefile, ejemplos de uso de bc para compilar archivos; consulte "Principios y aplicaciones del sistema operativo integrado en tiempo real μCOS-II - Ren Zhe (3.ª edición)" de Ren Zhe.

Archivo de ejemplo experimental: (no necesariamente es necesario, este artículo tiene todo el contenido y se proporciona aquí solo por conveniencia)

Uso básico de makefile, ejemplos de uso de bc para compilar archivos; consulte "Principios y aplicaciones del sistema operativo integrado en tiempo real μCOS-II - Ren Zhe (3.ª edición)" de Ren Zhe.

Al estudiar "Principios y aplicaciones del sistema operativo integrado en tiempo real μCOS-II - Ren Zhe (3.ª edición)", hay muchos detalles que no se explican. Con referencia a algunos de los ejemplos experimentales, se resumen algunos métodos básicos de uso de archivos MAKE.

Los siguientes son algunos procesos de aprendizaje solo como referencia:

Nota antes del experimento:
este experimento se realiza con la versión simplificada de Borland C3.1, que requiere el archivo bc. Coloque el archivo bc en el directorio raíz de la unidad E y configure las variables de entorno.
Es posible que algunos sistemas win8 de 64 bits no puedan utilizar herramientas como make.exe.
1. Pasos experimentales para archivos compilados de bc:
se supone que la carpeta bc se coloca directamente en el directorio raíz de la unidad e y se establece la variable de entorno e:\bc\bin.
La carpeta bc utiliza la herramienta bcc.exe en la unidad E. El comando es e:\bc\bin\bcc...
1. Establezca la ubicación del archivo de acuerdo con el ejemplo anterior (se puede modificar).
2. Configure las variables de entorno: Mi PC>Propiedades>Avanzado>Variables de entorno.En el cuadro de diálogo emergente, es decir, cree un nuevo nombre de variable RUTA en el cuadro de diálogo de variables de entorno y agregue d:\EnglishSetup\bc\.   valor de la variable bin
  al valor de la variable.
(El directorio donde se encuentra make.exe, etc. permite a la computadora encontrar el programa make en este directorio, que no distingue entre mayúsculas y minúsculas) (
  o agregar valores de variables cuando la RUTA ya existe y los puntos y comas separan otros valores de variables ).
  El propósito de configurar variables es simplificar la entrada de comandos sin la necesidad de ingresar la ruta completa cada vez.
3. Cree el archivo fuente (puede usar el Bloc de notas u otras herramientas de edición como documentos de texto) (es mejor colocarlo en un directorio estandarizado) 4. Abra
la ventana de DOS (entorno de línea de comandos) (busque cmd después de Win+ F para comenzar, ejecute cmd).
  Utilice el comando de línea de comando para ingresar el directorio de archivos donde se encuentra el archivo fuente (importante).
 (Los comandos de DOS en la línea de comando cmd no distinguen entre mayúsculas y minúsculas, pero los punteros o parámetros del comando sí distinguen entre mayúsculas y minúsculas)
5. Utilice el comando correspondiente para compilar o conectar el archivo fuente.
6. Genere el archivo .obj o .exe correspondiente.
7. Ejemplo: preste atención a los espacios y las teclas de tabulación en los siguientes comandos.
(Tenga en cuenta que la ventana de línea de comando cmd ingresa a una carpeta determinada y otros comandos de uso común E:, cd, cd\ o dir, etc. Consulte Baidu para conocer métodos específicos)

Por ejemplo, si hay un archivo fuente test.c

//código test.c

#incluir<stdio.h>

void main(void)
{ printf("¡Hola, mundo!\n"); }


a. Primero, cmd ingresa la ruta del directorio del archivo que se va a compilar y luego usa el comando de línea de comando para compilar tu propio archivo: la
  compilación El comando es: (tenga en cuenta el espacio)
bcc -c -ml -Ie:\bc\include -Le:\bc\lib test.c 
  (Nota: debe ir seguido del carácter de opción (letra))
Nota: e:\ bc\include y e:\bc\ lib es la ruta donde se encuentran el archivo de inclusión y el archivo lib.
  Este comando utiliza el archivo fuente test.c para generar el archivo test.obj.
b. Conecte el archivo de destino a un archivo ejecutable: debe conectar
  c0l.obj (c0L.obj, que es el módulo de inicio) y test.obj. Utilice tlink.exe para conectarse:
  (Para nombres de archivos específicos, consulte los nombres de archivos en cada carpeta en bc) El
  comando de conexión ingresado en cmd es:
tlink e:\bc\lib\c0l.obj test.obj,test,test ,e:\bc\lib\cl.lib
  está conectado para generar el archivo ejecutable test.exe.
Dado que el test.exe generado por test.c puede hacer que la ventana de la línea de comando simplemente parpadee, se agrega un ejemplo de hello.c.

El método específico es similar al anterior, excepto que se cambia "prueba" por "hola".

// código hola.c

#incluir<stdio.h>

#include<stdlib.h>
void main(void)
{
int i;
i=20;
printf("Hello,world!\n");
printf("i=%d\n",i);

system("pause");//调试时暂停程序
}
需要按照要求输入命令即可,其中的命令改为:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib hello.c 

tlink e:\bc\lib\c0l.obj test.obj,hello,hello,e:\bc\lib\cl.lib


二、makefile的简单实验:

说明:
使用前最好将文件放在较浅的路径目录下,以便cmd命令尽可能短。
先建立一个名叫makefile.mak的文件(特别注意后缀,可以使用txt写入内容后修改后缀)
makefile.mak文件的内容:
##生成11和22后将其删除##(#表示注释)
target1:
md 11
target2:
md 22
target3:
rd 11
rd 22
###

cmd窗口命令行进入makefile.mak所在目录,
第一次运行输入make后按回车
上述代码在当前文件夹下生成名叫11的文件夹(执行第一段代码)
第二次键入:make target2
上述代码在当前文件夹下生成名叫22的文件夹(执行第二段代码)
第三次键入:make target3

上述代码将刚建立的11和22两个目录删除(执行第三段代码)

三、makefile编译多个文件实验

1.全部文件为pa.c,pa.h,pb.c,pb.h,test.c(及附带文件makefile.mak和testlink.txt)
  以下假设bc文件夹直接放在e盘根目录下,并设置好环境变量e:\bc\bin。
  且上述文件放在test文件夹下。使用前最好将test文件夹放在较浅的目录下。
2.单步输入cmd命令行方法如下:(注意命令中的空格)
  若bc文件夹直接放在e盘根目录下,设置好环境变量e:\bc\bin后,
  cmd进入上述五个文件所在的目录test后依次输入的指令为:
bcc -c -ml -Ie:\bc\include -I.\ -Le:\bc\lib pa.c
bcc -c -ml -Ie:\bc\include -I.\ -Le:\bc\lib pb.c
bcc -c -ml -Ie:\bc\include -I.\ -Le:\bc\lib test.c
  (多了'-I.\'。应该是由于多了自己建立的头文件)
  依次生成pa.obj,pb.obj,test.obj文件。
  cmd输入连接命令:
tlink e:\bc\lib\c0l.obj pa.obj pb.obj test.obj,test,test,e:\bc\lib\cl.lib
  该实验中最后生成名为test.exe的程序。
  (若使用了printf()函数输出中文,中文部分可能会出现为乱码)
3.(1)使用makefile.mak及make命令方法如下:
使用makefile.mak及make命令来编译(pa.c,pa.h,pb.c,pb.h,test.c)生成test.exe

makefile.mak文件代码(内容)可为:(#为注释

(需要先建立连接文件testlink.txt,且要注意以下的空格与tab键。‘:’后有空格,命令前有tab键

#################################################
#               创建可执行文件(exe)
TEST.EXE:
TLINK @TESTLINK.txt
#################################################
#               创建各个目标文件(obj)
PA.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pa.c
PB.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pb.c
TEST.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib test.c

#################################################
需要键入的cmd命令行命令依次为:
make pa.obj
make pb.obj
make test.obj
make
(由于上述采用文件名作为标号,即目标,故make后面输入的可以是文件名)
注意需要建立一个叫testlink.txt的连接文件,并将需要连接的文件按格式要求写入其中。
testlink.txt的内容为:
e:\bc\lib\c0l.obj pa.obj pb.obj test.obj
test
test
e:\bc\lib\cl.lib

(2)上述操作需要输入的make命令太多,若采用命令集形式,只需要输入一次make即可
形式为:
目标: 生成目标所需要的文件名(依赖文件,其实是转移语句标号)
命令集
相当于生成目标的条件不满足时,程序执行将发生转移,转移的目标是以依赖文件名为标号或目标的程序段。
(注意命令集前面有tab键、冒号':'后有空格。)

makefile.mak文件代码(内容)可为:(注意空格与tab键‘:’后有空格,且每个命令前有tab键)
#################################################           
TEST.EXE: PA.OBJ PB.OBJ TEST.OBJ
TLINK @TESTLINK.TXT
PA.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pa.c
PB.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pb.c
TEST.OBJ:
bcc -c -ml -Ie:\bc\include -Le:\bc\lib test.c

#################################################
需要键入的cmd命令为:make

(3)规范完整的makefile.mak文件代码(内容)为:
(凡是以目标为标号的程序段都要写上目标的依赖)
#################################################           
TEST.EXE: PA.OBJ PB.OBJ TEST.OBJ
TLINK @TESTLINK.TXT
PA.OBJ: PA.C PA.H
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pa.c
PB.OBJ: PB.C PB.H
bcc -c -ml -Ie:\bc\include -Le:\bc\lib pb.c
TEST.OBJ: TEST.C
bcc -c -ml -Ie:\bc\include -Le:\bc\lib test.c

#################################################

需要键入的cmd命令同样为:make

希望能帮到大家。

Guess you like

Origin blog.csdn.net/liuxhCSDN/article/details/79928204