0 1 2 3 4 ...10 11 12 13 14 ...21 22 23 24 25
Реба Създадено на 14:20, видяно: 93 пъти. #136112
тоест оказва се че линкера все пак знае какво е функция и може да тръгне от входната точка и да добавя рекурсивно както си го представях :)
Не точно. Линкера се изтарикатява да гледа на така наречените "секции" в обектния файл като на атомични елементи от които сглобява крайния резултат. Т.е. и ти си прав и ние сме прави. Но определено линкера не се занимава да анализира кой код ти трябва и кой не (защото тогава трябва да разбира от бинарния код на всяка архитектура която се поддържа от компилатора - х86, арм, мипс и т.н.) а на ниво секция определя дали да я включи в крайния резултат или не. Някои секции ги включва винаги без значение дали се ползват - разбира се при положение, че обектният файл в който са вече присъства в списъка за линкване. А за някои секции все пак прави проверка дали са необходими или не.
Реба Създадено на 15:02, видяно: 78 пъти. #136129
да де, той не знае че това са функции, за него са секции, и това е в хармония с изначалната концепция на линкерите да са езиково независими и да могат да смесват обектни файлове от различни езици. обаче той си избира кои секции да включи на база някакви правила, в които има "входна точка" (и подобни на нея форсиращи фактори).
Секциите импортват и експортват символи т.е. адреси на нещо от/за друга секция. И входната точка мисля, че е хардкодната в линкера.
Абе както и да е, важното е да работи, да не се чупи и горе долу да си имаме на идея как работи за да го ползваме по ефикасно.
Аз си признавам, че бях на 2/3 неправ. Като видях - gc-sections и ми светна някаква лампичка. Не знам дали съм забравил за - function-section или както се случва все по-често с възрастта "аз този филм май съм го гледал вече", но определено бях забравил за тази способност на компилатора и линкера.
"Функциите" са основна функционлност (no pun intended) на повечето компютърни архитектури и според мен единствената причина линкерите да не знаят за края им е "винаги е било така".
Е, всички участвали в дискусията научихме нещо. Малко разнообразие от зоофилските изпълнения на Рабина.
Майка ти в момента прави баница на трите мангусти, дето я посетиха снощи. Изглежда са я разпорили от бъркане дето може да се бръкне.
https://traycer.ai - още един ИИ код асистент за VSCode, при това добре платен. На филмчетата изглежда доста адекватно. Да видим кога тези асистенти ще станат мейнстрийм т.е. кога ще конкуренцията ще ги принуди всички да са безлпатна част от платформата за която разработваш .
0 1 2 3 4 ...10 11 12 13 14 ...21 22 23 24 25