среда разработки/компилятор си

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by intNet, 3 Sep 2009.

  1. intNet

    intNet Member

    Joined:
    31 May 2009
    Messages:
    29
    Likes Received:
    14
    Reputations:
    5
    Собираюсь изучать си(подчёркиваю, именно си, а не cpp), обращаюсь к знающим с просьбой посоветовать среду разработки (если таковая имеется) или компилятор. В гугл не напралять, интересует именно ваше мнение.
    Скачал lcc-win32, написал helloworld - 99,9 кб - немного жирно для си имхо.
     
  2. .acme

    .acme Elder - Старейшина

    Joined:
    8 Nov 2007
    Messages:
    126
    Likes Received:
    36
    Reputations:
    4
    Отправляю в гугл для курения манов по lcc.
     
  3. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    я в студии (VC++) пишу, ктото пользуется gcc. Дада именно Си код. Гм правда С99 не в полном объеме поддерживается, но в принципе и не надо. Про lcc интересно, не знал). Для уменьшение нужно переназначить точку входа и убрать RTL. Можно ещё вдобавок изменить выравнивание секций и объединить все секции в одну. ^_____^ как это сделать смотри в документацию

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

    PHP:
    #undef UNICODE
    #undef _UNICODE

    #include <windows.h>

    #pragma comment(linker, "/merge:.rdata=.text")
    #pragma comment(linker, "/merge:.data=.text")

    void main(void)
    {
        
    DWORD n;
        
    WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), "HELLO WORLD"11, &n,0);
        return;
    }
    Получился 1Кб. Большую часть которых занимает заголовок )). Баловство ))
     
    #3 Hiro Protagonist, 3 Sep 2009
    Last edited: 3 Sep 2009
    1 person likes this.
  4. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    intNet, здравый выбор. Я бы посоветовал Borland C++ 3.1. Почему? Потому что он прост и весел(есть поддержка рисования в консоли). На нём учились очень многие.

    С ним правда есть проблема: не поддерживается виндами выше xp, но это решается использованием DosBox.


    добро пожаловать в кодерский клуб ;)
     
  5. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Эмм присоединяюсь к Hiro Protagonist тоже пишу в VC++ т.к пишу в основном системный софт, а в VS есть практически все нужные библеотеки хенлды и доки в msdn, а чего нет то есть в DDK :) Единственное Hiro Protagonist это не Cи, а winAPI.

    Для VC++ можно поставить опцию компиляции при которой код будет компилироватся как Си, а не Си++.

    intNet, если ты хочешь писать маленькие программы Си тебе не помошник... ассемблер + winAPI - залог маааленьких виндовых прог :)

    Нащет скорости выполнения кода на Си и Си++ я к сожелению различий не знаю, но т.к я не сторонник ООП и полного абстрагирования от системы Си рулит ) + при удачном использовании различных define-ов можно спокойно написать кроссплатформенное приложение.
     
    _________________________
  6. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    2Gar|k
    Зовите просто Hiro ^_^
    Я нигде не говорил, что WinApi == C (в том числе кстате RTL != C). Я имел ввиду, что в любом С++ компиляторе можно писать в С-style и все будет нормально и это будет действительно C. Да и я бы не стал включать ту опцию, тк она приведет к использованию спецификации С89, в ктр нет некоторых полезных фич.
     
  7. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    С программированием на С знаком не понаслышке (уже лет 6 это основная специализация) как под Винду, так и под *NIX. Могу посоветовать, как ни странно, использовать gcc и в Юниксе и в Винде.

    dev-cpp - для Винды, там и среда есть неплохая и GNU Compilers Collection.

    Мнение такое не с потолка. Просто я еще не встречал более адекватного восприятия и поддержки стандартов, чем в gcc, это не тот сурогат, что предлагает VC++. Вобщем, настоятельно рекомендую хотя бы попробовать
     
    1 person likes this.