Няшная / Говнокод #25743 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
#include <stdlib.h>

#define printf() print()

int main(void) 
{
    int a = 0;

    a = a++ + ++a;

    print("I'm using macro that redefine printf() function (%d).", a);

    return 0;
}

Ыыыыыыыы
суть говнокода же чтоб он собрал максимум красных цифр?
это не мой код честно!!!

Запостил: Ksyrx Ksyrx, (Updated )

Комментарии (59) RSS

  • warning: implicit declaration of function ‘print’ [-Wimplicit-function-declaration]
    undefined reference to `print'
    collect2: error: ld returned 1 exit status
    Ответить
    • Починил: http://ideone.com/xclcOk
      Преамбула должна быть такой:
      #define printf print
      #include <stdio.h>

      Вообще не понимаю, как оно слинковалось. gcc использует инлайн вместо внешней функции?
      Ответить
      • Да скорее всего printf там макросом объявлено и затирает твоё объявление, либо ifdef undef.
        Ответить
        • В «MinGW» printf объявлена макросом, который вызывает внешнюю функцию __mingw_vfprintf:
          __mingw_ovr
          __attribute__((__format__ (gnu_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1)
          int printf (const char *__format, ...)
          {
            int __retval;
            __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format );
            __retval = __mingw_vfprintf( stdout, __format, __local_argv );
            __builtin_va_end( __local_argv );
            return __retval;
          }

          Если я впереди поставлю #define printf print, то макрос объявит функцию print, которая будет вызывать всё ту же внешнюю __mingw_vfprintf.

          Поскольку в «Ideone» работает так же, значит, и в «Линуксе» макрос, который вызывает какую-нибудь __stdio_common_vfprintf или __gnu_vfprintf или типа того.
          Ответить
      • Потому что в курятнике сидишь блять. Открой инклуды посмотри что за магия, мингв даже не смотри на эту парашу
        Ответить
    • Варнинг хуярнинг, пользуешься навороченной хуйней какой то. Коллектор блядь. Все собирается заебись да варнинг но в Си так можно и вообще иди нахуй посмеялся бы шоль
      Ответить
                • ну просто я хочу предложить именно тебе
                  почему би и нит ??
                  Ответить
                    • да иди ты нахуй со своим натурализмом
                      просто поговорить хочется и со, чо тебе тут нннада ??
                      Ответить
                      • Я водяной, я водяной,
                        Поговорил бы кто со мной?

                        Тебе грустно и одиноко? Позвони сюда, сладенький: ♥♥♥2005732♥♥♥
                        Стоимость звонка 100500 руб./сек.
                        Ответить
                        • шо стебешься ты наверное знаешь что это такое и вообще чо те надо блен
                          Ответить
                • слуш, ты админ? можешь удалить мои посты там где нет кода, ну там php и другие, я буду в кучу писать ес шо
                  Ответить
      • >> error: ld returned 1 exit status
        > варнинг [...] Все собирается заебись

        Как же оно у тебя собирается, если в сях нету функции print.

        > Си так можно
        Как? Вызывать несуществующие функции?

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

        Вот лучше посмотри на дизасм этого говна https://godbolt.org/z/sznhEa оно конпелируется и даже отрабатывает успешно, хотя глядя на дизасм функции type в это сложно поверить. ESI же младшая часть RSI, как оно продолжает работать, если его затёрли?
        Ответить
        • > оно конпелируется

          вот с этого момента можешь не продолжать и успПАКОИТСЯ!!!!
          Ответить
          • RSI ЗАТЕРСЯ БЛЯДЬ УКАЗАТЕЛЬ ИНСТРУКЦИЙ ВМ А ОНО УСПЕШНО ОТРАБАТЫВАЕТ!!!!!1111почему?
            Ответить
            • ну потому што ты чета недогоняешь наверное
              НЕТ ????
              и вообще причем здесь блядь регистры ?? НУ ВОТ СКАЖЫ !!!!
              Ответить
              • Потому и спрашиваю, объясни мне пожалуйста, что происходит.
                Ответить
                • ешкин кот ти шо думаешь мне хочеца тратить на эту бесполезную хуйню которую ты с чего то взял, свое время ?? почему почему блеть, ну вот потому что работает
                  окей, попробуем рассмотреть твою претензию...
                  Ответить
                • аааа ебаный в рот, эээ иди ты в сраку блеть
                  сам думай охуел, я думал это говно которое я кинул ))))
                  Ответить
        • >Как? Вызывать несуществующие функции?
          в си так можно, если не линковать объектный файл
          Ответить
            • ладно, падъебнул

              а можно написать линкеру скрипт такой волшебный чтобы он заликовал как-то функцию которую никто не экспортирует?
              Ответить
              • Можно. Просто объявишь символ прямо в линкер скрипте.
                Ответить
    • Это непереводимо:
      1. В «Делпхи» нет мокросов. Именно поэтому я за «Делпхи».
      2. До линковки дело даже не дойдёт, если есть необъявленные функции. Можно, конечно, объявить procedure print; external; но всё равно встроенный линкер не соберёт экзешник.
      Ответить
  • На какой тачке ездит Герман гремпф?
    Ответить
  • слушайте, короче я решил запустить этот код у себя, у меня нихуя не собралось, так что код не работает, расходимся и пишем что я криворукий даин давайте
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8