LINUX.ORG.RU
Ответ на: комментарий от Artificial_Thought

Что заставляет целенаправленно писать подобный код? Ведь это явно не просто неаккуратный код. Это специально так писалось

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Ну люди не для продакшена же пишут, а для удовольствия.

uin ★★★
()
Ответ на: комментарий от cvs-255

Они его еще под свой компилятор могли писать, который использует только регистры, был у них такой хак в коде платформы для инициализации памяти...

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

Код, использующий только регистры, обычно довольно небольшого размера и пишется на асме. Потом инициализируется кэш и он используется в качестве памяти.

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от cvs-255

Нафига тогда они это пилили?(риторический вопрос, конечно...)

У них были дикие проблемы с когерентностью кеша, который выкидывал все что хотел по своему желанию... потом, правда, решение нашли, но легаси в коде осталось.

А вообще, пользуйся IDE, коли они так коряво сделали...

timdorohin ★★★★
()
Ответ на: комментарий от timdorohin

Так и использую IDE (kdevelop). Все равно ппц как неудобно. Чуть что тронешь - сразу все рассыпается, и не сразу поймешь, в чем именно дело. Включать .c файлы надо обязательно в определенном порядке, иначе не будет хватать определений констант и функций. А если какой-то константы или функции не хватает, а ты нашел файл, в котором она определена, и который явно рассчитан на то, что его будут инклюдить, то ты не можешь его заинклюдить просто так. Потому что расчитан на то, что он заинклюжен в другом файле, и вот тот то файл и надо инклюдить. Все это чертовски неудобно

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 5)
Ответ на: комментарий от cvs-255

Здесь идея в том, что в каждом отдельном .H файле содержится какой-то блок кода, который добавляет к собираемому таким образом решателю какие-то отдельные готовые определения, например

#include "EEqn.H"
включает файл EEqn.H, содержащий в себе определение уравнения переноса энтальпии.

Почему это сделано именно так, а не иначе я не знаю, и да, думаю можно было это реализовать вменяемей.

Artificial_Thought ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.