Cài đặt library được tải trong C

Em tải được tập .zip một thư viện nhưng không biết sử dụng.
Em muốn hỏi là: Sau khi tải tệp .zip của 1 library, làm sao để sử dụng các hàm trong thư viện đó?
Em cảm ơn nhiều lắm!

Đây là link à:
https://sourceforge.net/projects/sglib/files/sglib/1.0.4/

Đưa link lên đây cho mọi người xem nào.

mình đã sửa bài với dòng link tải nhé!

1 Like

Lib này chắc được viết lâu lắm rồi, thời chưa có template, tác giả dùng 100% #define để mô phỏng template :fearful:
Nói chung thì bạn include file header của nó (sglib.h) vào rồi dùng thôi.
Ví dụ của nó:

// This program sorts its parameters using
// array sort level 1 interface. 
// For example:
//   a.out 6 7 3 4 1 5
// writes
//   1 3 4 5 6 7


#include <stdio.h>
#include <stdlib.h>
#include "sglib.h"

#define MAX_ELEMS 1000

SGLIB_DEFINE_ARRAY_SORTING_FUNCTIONS(int, SGLIB_NUMERIC_COMPARATOR)

int main(int argc, char **argv) {
  int i,size;
  int a[MAX_ELEMS];
  size = argc-1;
  for (i=0; i<size; i++) {
    sscanf(argv[i+1],"%d", &a[i]);
  }
  sglib_int_array_heap_sort(a, size);
  for (i=0; i<size; i++) {
    printf("%d ", a[i]);
  }
  printf("\n");
  return(0);
}

SGLIB_DEFINE_ARRAY_SORTING_FUNCTIONS dùng để define hàm sglib_int_array_heap_sort (cái chữ “int” được đưa vào tên hàm đấy);
Nếu bạn viết:

SGLIB_DEFINE_ARRAY_SORTING_FUNCTIONS(float, SGLIB_NUMERIC_COMPARATOR)

Thì bạn có hàm sglib_float_array_heap_sort :stuck_out_tongue_winking_eye:
SGLIB_NUMERIC_COMPARATOR là biểu thức có kết quả boolean, dùng để so sánh các cặp phần tử trong tập hợp các phần tử.
Nếu bạn muốn dùng biểu thức riêng thì phải tự #define rồi đưa macro vào thay thế cho SGLIB_NUMERIC_COMPARATOR.
Còn lại thì bạn phải đọc tài liệu của nó.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?