Kalau saya ngga salah nangkep maksud anda mungkin membuat semacam file librari/objek

di C dg linux.Sekalian memberikan info utk rekan milis lain dan biar ngga ada yg
nanya lagi...
Dalam dos file objek biasanya berekstensi .OBJ dan file librari berekstensi .LIB
Sedangkan dalam UNIX/Linux file objek berekstensi .o dan file librari ada 2 macam
- yg berekstensi .a menandakan static library(identik dg .LIB dlm dos).
- yg berekstensi .so dan .sa menandakan shared library(identik dg .DLL dlm windows).

Untuk memudahkan dibawah ini saya berikan contoh program dan tinggal anda sesuaikan
dg kebutuhan anda. Keterangan singkat:
Saya mempunyai 3 buah file c(integer, strings, dan program) dan 1 buah header
file(libexam.h).
Yang mana nantinya file integer.c dan strings.c hanya berisi proses utk menampilkan
string dan
bil. integer, sedangkan file program yang akan memanggil ke-2 file tersebut. File
libexam.h hanya
berisikan deklarasi fungsi dari file integer & strings. File integer & strings akan
"diubah" menjadi
file objek utk kemudian keduanya digabung ke dalam 1 file library libexam.a
Langkah-langkah:
1. Compile integer.c dan strings.c menjadi file obj:
    cc/gcc -c integer.c strings.c --> output: integer.o dan strings.o
2. Buat librari dari gabungan integer.o dan strings.o:
    ar crvs libexam.a integer.o strings.o (ngga perlu lagi run "ranlib ...")
3. Compile dan link file program
    gcc -g program.c -o program -L. -lexam (bila lib. dlm direktori lain
sesuaikan!).
---------
integer.c
---------
#include <stdio.h>
#include "libexam.h"
void integer(int arg)
{
    printf("You passed %d\n", arg);
}
--------
strings.c
--------
#include <stdio.h>
#include "libexam.h"
void strings(char *arg)
{
    printf("You passed %s\n", arg);
}
----------
libexam.h
----------
void integer(int);
void strings(char *);
-----------
program.c
-----------
#include "libexam.h"
int main()
{
    strings("Hai");
    integer(888);
    exit(0);
}
Untuk yg shared librari silakan anda coba cari-cari dulu ya. Mengenai
makefile/make+optionnya
terlalu panjang utk dibahas, entar yg lain pada ngamuk. Bila yg nanya banyak, baru
saya akan bahas. Ok, happy hunting deh...


EmF wrote:

> Hola semua, mo nanya nih :-)
> Gini, saya punya beberapa program (.c) sederhana yang bisa di kompile
> dan di run secara baik dengan fungsinya masing masing. Rencananya saya
> mau bikin satu lagi program (executable) yang nantinya berfungsi
> *interface* untuk user.
>
> Biasanya saya meng-coding satu-file-besar yang memuat semua fungsi
> agar program tersebut bisa berjalan.
>
> Naahh mau-nya saya, HANYA ada satu executable (sebagai *interface*),
> sedangkan sisanya hanya binari yang tidak dapat berjalan
> sendiri-sendiri. Jadi berbeda dgn yang di paragraph 2 yang
> "satu-file-besar", tapi
> "satu-program-utuh-yang-dipisah-jadi-beberapa-file-binari".

> Caranya gimana tuh ?

> BTW, ada yang tau URL referensi ttg Makefile ?
>
> makasih sebelumnya,
> ical


--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke