Skip to content
This repository has been archived by the owner on Jun 25, 2020. It is now read-only.

gcc и външни библиотеки #868

Open
DanyYanev opened this issue Nov 12, 2016 · 6 comments
Open

gcc и външни библиотеки #868

DanyYanev opened this issue Nov 12, 2016 · 6 comments
Labels

Comments

@DanyYanev
Copy link
Contributor

Има ли алтернатива или начин по който да се добавят стандартни библиотеки без да гърми gcc при стандартни параметри (pedantic, Wall e.t.c)?

И да не се налага да пренаписваме на фунции в стандартни библиотеки преписвайки код, който никой не разбира 😄 : (Credit @wencakisa )

float floatmod(float a, float b) {
// Stackoverflow  <3
return (a - b * (int)(a / b));
}

Вместо вече готовата версия от math библиотеката - fmod(float a, float b) 😢
Тъжното е, че не намерих друг начин да получим остатък с float, следователно няма и как да решим четвърта задача...

@wencakisa
Copy link
Contributor

Всъщност тоя ред не е чак толкова rocket science след като размислиш малко върху него (разбира се след като си го извадил от Stackoverflow). Но трябва да се сложи флаг -c на gcc-то при компилация, а @elsysbot не работи така.

@DanyYanev
Copy link
Contributor Author

За това отворих issueto 😄 Кода не е толкова сложен, но въпроса е че не може да ползваме външни библиотеки което ограничава много.

@azlekov
Copy link
Member

azlekov commented Nov 13, 2016

@elsysbot компилира със следните параметри: gcc -Wall -std=c11 -pedantic -lm и не използва -c флаг, защото освен компилация, 'линква' стандартните библиотеки и math.h (-lm).

През последните години не ни се е налагало да линкваме други външни библиотеки.
При кои стандартни библиотеки гърми, @DanyYanev ?

@DanyYanev
Copy link
Contributor Author

Под гърми имах предвид че библиотеките не работят без да бъдат излишно добавени(линкнати) . - lm тага (от това което прочетох във форумите) добавя само math библиотеката. Това ме навежда на мисълта че при ползване на всяка друга стандартна библиотека @elsysbot няма да може да компилира програмите. Иначе нямах представа че бота компилира и с -lm тага, това улеснява 4та задача 😄. Мерси :)

@azlekov
Copy link
Member

azlekov commented Nov 13, 2016

В зависимост от темповете с които се движим, вероятно вторият срок ще си говорим за това как се пишат и използват външни библиотеки. Дотогава, едва ли ще ви се наложи да използвате такива. Единствено в math.

Задачите са с такава сложност, че допълнителни функциите които ще ви трябват можете да си ги напишете в рамките на 1-2 минути и 3-5 реда.

@migglu
Copy link
Member

migglu commented Nov 21, 2016

Повечето неща от стандартната библиотека се линкват по подразбиране, math.h е отделена поради "причини". Ако ви затрябва някоя такава функция и трябва да се добавят флагове при компилация ни пишете и ще го обмислим :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants