LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Всё вышеперечисленное и так является неопределённым поведением.

Прекращай молиться на макулатуру.

Программист тупой, ему доверия нет.

Для тупых есть пхп, придумывать им ещё какой-то извращённый диалект Си ни к чему. А Си это язык, на котором нормальные люди могут максимально (почти, всё-таки не асм) воспользоваться возможностями процессора, без каких-то навязанных им шаблонов.

И что по-твоему должен означать код (void*)12345

(void*)12345 это указатель на адрес 12345, полностью корректная конструкция в Си. Я не знаю, где ты вычитал что это UB, но даже если где-то и правда так написано - значит авторы того документа тебя обманули. Его можно, например, использовать так:

fputs((void*)12345, stdout);
Это означает, что надо вывести в stdout ASCIIZ-строку, прочитанную из памяти процесса начиная с адреса 12345, что бы там ни было.

Суть в том, что в C такой конструкции нет и быть не может, пиши компиляторо-зависимый код.

Весь код на Си - компиляторно-зависимый, смирись.

Исходная версия firkax, :

Всё вышеперечисленное и так является неопределённым поведением.

Прекращай молиться на макулатуру.

Программист тупой, ему доверия нет.

Для тупых есть пхп, придумывать им ещё какой-то извращённый диалект Си ни к чему. А Си это язык, на котором нормальные люди могут максимально (почти, всё-таки не асм) воспользоваться возможностями процессора, без каких-то навязанных им шаблонов.

И что по-твоему должен означать код (void*)12345

(void*)12345 это указатель на адрес 12345, полностью корректная конструкция в Си. Я не знаю, где ты вычитал что это UB, но даже если где-то и правда так написано - значит авторы того документа тебя обманули. Его можно, например, использовать так:

fputs((void*)12345, stdout);
Это означает, что надо вывести в stdout ASCIIZ-строку, прочитанную из памяти процесса начиная с адреса 12345, что бы там ни было.