1

Тема: Створення бібліотек на Сі

Народ хто знає як створюються бібліотеки на мові Сі допоможіть дуже потрібно !

2

Re: Створення бібліотек на Сі

Які саме бібліотеки? Це багато значне слово.
Якщо ви саме про бібліотеки на мові Сі - то пишете файл з прототипами функцій, окремо пишете файл з тілом цих функцій, назва бажано однакова, тільки заголовочний файл має закінчуватися на .h, а основний - на .c і починатися з

#include "...h"

Все решта - запобіжники включення, static і extern - змінні і т.д. - розберетеся самостійно, ніц складного там нема.

3

Re: Створення бібліотек на Сі

Я так розумію ви маєте на увазі header файл - так ?? Мені потрібно створити бібліотеку подібну до string.h для роботи з рядками 

4

Re: Створення бібліотек на Сі

Ну так а проблема в чому?

5 Востаннє редагувалося Programmer (11.02.2014 14:42:41)

Re: Створення бібліотек на Сі

Я зрозумів дякую! Але ще одне могли б ви мені порадити якісь  посилання або книги де я б більш детальніше вивчив роботу з хідерами а то я так на загальному рівні про них знаю ! А ще таке що це за бібліотеки статичні та динамічні та яка різниця між ними ? - чи вони мають якесь відношення до хідера ? 

6

Re: Створення бібліотек на Сі

Там більше нічого і немає - текст хедера інклюдиться в файл, функції беруться з obj-файла.
А статичні і динамічні - це зовсім інша історія, це бібліотеки часу виконання.

7

Re: Створення бібліотек на Сі

" текст хедера інклюдиться в файл, функції беруться з obj-файла " Це тобто я спершу створюю проект 2. в проекті додаю хідер файл а патім використовую в тій же програмі ?  Чи потрібно спершу створити файл з розширенням .h та зберегти його а потім вже підключати в самій програмі ? " функції беруться з obj-файла  " - ще могли б ви обяснити що за obj файл

8

Re: Створення бібліотек на Сі

Programmer
obj - то є об_єктні файли, скомпільовані бінарні файли в яких відсутні адреси на функції та дані в інших модулях.

9

Re: Створення бібліотек на Сі

Programmer написав:

" текст хедера інклюдиться в файл, функції беруться з obj-файла " Це тобто я спершу створюю проект 2. в проекті додаю хідер файл а патім використовую в тій же програмі ?  Чи потрібно спершу створити файл з розширенням .h та зберегти його а потім вже підключати в самій програмі ?

Порядок не має значення, головне, щоб в результаті у вас було щонайменше 2 .c-файли і 1 .h-файл.

Programmer написав:

" функції беруться з obj-файла  " - ще могли б ви обяснити що за obj файл

.obj - це результат роботи компілятора. З .obj лінкер збирає .exe, ELF, .so, .dll чи що ви там робите.


І припиніть підсвічувати текст. Це ВВАЖАЄТЬСЯ дуже НеВвІчЛиВиМ.

10 Востаннє редагувалося Programmer (11.02.2014 17:30:41)

Re: Створення бібліотек на Сі

Я написав а  проект не бачить : 1>Task3_v1.cpp(6): fatal error C1083: Не удается открыть файл включение: kkk.h: No such file or directory   як виправити ?

11

Re: Створення бібліотек на Сі

koala написав:

дуже

12

Re: Створення бібліотек на Сі

Що дуже ?

13

Re: Створення бібліотек на Сі

попробуй ще так писати

14

Re: Створення бібліотек на Сі

м о ж н а щ е й о т а к

15

Re: Створення бібліотек на Сі

Programmer написав:

Що дуже ?

Неввічливо.
А ви краще б скріншот навели з усім, що може проблеми стосуватися, а то змусите зовсім дурні питання ставити, на кшталт "чи створили ви файл kkk.h"?

16 Востаннє редагувалося Programmer (11.02.2014 19:07:45)

Re: Створення бібліотек на Сі

Ось

Post's attachments

ств.png 56.56 kb, 262 downloads since 2014-02-11 

17 Востаннє редагувалося Programmer (11.02.2014 19:09:25)

Re: Створення бібліотек на Сі

Вибачте але я не знаю як то всі одразу закинути скріни

Post's attachments

ств1.png 19.84 kb, 194 downloads since 2014-02-11 

18

Re: Створення бібліотек на Сі

ще 1 скрін

Post's attachments

ств2.png 99.49 kb, 325 downloads since 2014-02-11 

19 Востаннє редагувалося Programmer (11.02.2014 19:12:50)

Re: Створення бібліотек на Сі

Це останній

Post's attachments

ств3.png 56.16 kb, 260 downloads since 2014-02-11 

20

Re: Створення бібліотек на Сі

Ось сама програма

#include "stdafx.h"

#include <iostream>
#include "kkk.h"

using namespace std;

void main ()
{
    float x;
    x=0.1;
    while (x<=1)
    {
        cout<<y(x)<<"\n";
            x+=(1-0.1)/10;
    }
    int f;
    cin>>f;
}