Неодноразово бачу цікаву ситуацію.
Якщо у проекта основна (або єдина) платформа - Windows, то ти його береш, відкриваєш у Visual Studio, жмеш F7 і все тупо працює.
Але якщо це щось портоване з Linux та написане людьми, у яких лінух головного мозку - 𝔞𝔟𝔞𝔫𝔡𝔬𝔫 𝔥𝔬𝔭𝔢 𝔞𝔩𝔩 𝔶𝔢 𝔴𝔥𝔬 𝔢𝔫𝔱𝔢𝔯 𝔥𝔢𝔯𝔢, це буде анальне шапіто на весь вечір.
Тому що йому спочатку за якимось дідьком треба configure, якому треба cygwin, autoconf, autogen, gawk, grep, sed, perl і ще купа лівого лайна.
І параметри, параметри!
Вкажи свій компайлер, платформу, шелл та поточний курс доляра.
Щось у командному рядку, щось у оточенні, щоб не нудьгувати.
Kurwa.
Якщо у проекта основна (або єдина) платформа - Windows, то ти його береш, відкриваєш у Visual Studio, жмеш F7 і все тупо працює.
Але якщо це щось портоване з Linux та написане людьми, у яких лінух головного мозку - 𝔞𝔟𝔞𝔫𝔡𝔬𝔫 𝔥𝔬𝔭𝔢 𝔞𝔩𝔩 𝔶𝔢 𝔴𝔥𝔬 𝔢𝔫𝔱𝔢𝔯 𝔥𝔢𝔯𝔢, це буде анальне шапіто на весь вечір.
Тому що йому спочатку за якимось дідьком треба configure, якому треба cygwin, autoconf, autogen, gawk, grep, sed, perl і ще купа лівого лайна.
І параметри, параметри!
Вкажи свій компайлер, платформу, шелл та поточний курс доляра.
Щось у командному рядку, щось у оточенні, щоб не нудьгувати.
Kurwa.
no subject
Date: 2022-11-08 08:36 pm (UTC)Ну не зовсім чорний ящик, але якось приємніше коли люди хоча б мінімізують залежності та не плодять сутності без необхідності.
Я розумію, що у проекті на C не все можна зробити на препроцесорі та інколи може бути потреба згенерувати якісь файли. Але я не дуже розумію, чому для цього треба аж 10 різних програм і не можна все зробити наприклад пайтоном.
no subject
Date: 2022-11-08 10:50 pm (UTC)no subject
Date: 2022-11-09 07:49 am (UTC)Насправді, це різниця між лібою, статично влінкованою в моноліт, та стенделон-тулзою. Той же гну-греп має конкурента у вигляді PCRE/PCRE2. І оцей пцре існує у двох іпостасях: у вигляді набору стенделон-утиліт, та у вигляді ліби (so/dll). І можна або смикати утиліти через execv(), або викликати функції ліби. І що цікаво, оцей самий пцре2 - він у вигляді dll-ліби давно інкорпорований у мікрософтівський тулсет. Те саме з текст-процесорами авк та сед.
Але. Рочків з 10 тому я знайшов помилку у парсері регулярних виразів пцре. Пишу листа автору з багрепортом. Він мені шле патч для коду парсера. Я патчу код, перекомпільовую тулзу і вуаля - багу більше нема. В той же час тулсет мікрософта із статично вкомпіленою лібою залишався непатченим іще 4 роки :) Тобто мій код, що активно використовував регулярні вирази, чудово працював на патчених тулзах в ніксах, і зовсім не працював на вінді. Звичайно, можна було залізти в тулсет МС і там по живому провести апдейт, але тулсет МС не розрахований на це. На відміну від ніксів, де це звична повсякденна практика.