标题:c怎么样建立自己的函数库
只看楼主
professionman
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-11-7
 问题点数:0 回复次数:3 
c怎么样建立自己的函数库

我写了一个求n!的程序如下

int nnn ( int x) /*此函数用来求x的阶乘*/ { int s=1,i=x; if (i==0) { s=1; return(s); } else { for ( i=1;i<=x;i++) s=s*i; return(s) ; } }

保存为nnn.c

然后用tcc nnn.c编译得到nnn.obj

然后在用tlib mylib +nnn , mylib.lst

得 mylib.lib文件,并将其copy到lib目录下

接着新建mylib.h文件,内容如下

extern int nnn(int);

保存后copy到include 目录下

最后用以下程序测试

#include "mylib.h" main() { int i,c; printf("input the i:\n"); scanf("%d",&i); c=nnn( i ); printf("the i'n! is %d",c); }

编译通过,linker时说有没定义的-nnn,有人能帮我看看怎么回事呢,为什么写的nnn不能用呢?

搜索更多相关主题的帖子: 函数库 nnn int mylib tcc 
2004-11-07 21:18
professionman
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-11-7
得分:0 
为什么我用tcc有出现了无法打开mylib.h呢,真是好郁闷哦!
2004-11-07 21:35
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

你能不能把书上写的方法打上来看看,我觉得你的头文件建立有问题!


差点把你忘了...
2004-11-08 08:54
professionman
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-11-7
得分:0 

1.现将二个函数Sub1()及Sub2()建立成一个函数库文件取名MyLib.Lib。两个函数的类型及形参如下:

Void Sub1(Void);Float Sub2(Int i,Float x)将它们分别建立一个文件,取名为Sl.c及S2.c,再用命令Tcc对它们分别

编译后产生两个目标文件S1.obj及S2.obj,最后使用Tlib命令建立函数库文件MyLib.Lib,并建立相应的列表文件(列表文件主

要用来检查主函数库情况),命令格式如下:

  Tcc S1.c S2.c   Tlib MyLib +S1 +S2,MyLib.Lst

将产生的Mylib.Lib函数库文件拷贝到标准库目录下C:\TC\Lib.

  2.建立其首标文件(假设取名为myfunc.h)内容如下:

  extern void sub1(void);   extern float sub2(int,float);

将此文件拷贝到目录下c:\tc\include.

  3.在用户的程序中按下列方式直接使用即可

  #include<myfunc.h>   main(){… 调用Sub1();Sub2(); … }

  4.在Turboc下用编译命令Tcc对用户程序进行编译及链接。设其用户程序文件名为My.c,使用命令格式:

  Tcc -I C:\TC\include -L C:\TC\Lib My.c Mylib.lib

执行完后就会产生一个My.exe可执行文件,其中-I后面指出首标文件的目录,而-L后面指出函数库的子目录,最后两个分别是

源程序文件及函数库文件。关于Tcc和Tlib的详细用法在系统提示符下键入C:\TC\TCC和C :\TC\Tlib可得到帮助。

以上为我从网上下的方法,帮我看看吧

[此贴子已经被作者于2004-11-08 16:21:45编辑过]

2004-11-08 16:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-7288-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019886 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved