PDA

Просмотр полной версии : среда разработки/компилятор си


intNet
03.09.2009, 20:48
Собираюсь изучать си(подчёркиваю, именно си, а не cpp), обращаюсь к знающим с просьбой посоветовать среду разработки (если таковая имеется) или компилятор. В гугл не напралять, интересует именно ваше мнение.
Скачал lcc-win32, написал helloworld - 99,9 кб - немного жирно для си имхо.

.acme
03.09.2009, 20:50
Отправляю в гугл для курения манов по lcc.

Hiro Protagonist
03.09.2009, 21:49
я в студии (VC++) пишу, ктото пользуется gcc. Дада именно Си код. Гм правда С99 не в полном объеме поддерживается, но в принципе и не надо. Про lcc интересно, не знал). Для уменьшение нужно переназначить точку входа и убрать RTL. Можно ещё вдобавок изменить выравнивание секций и объединить все секции в одну. ^_____^ как это сделать смотри в документацию

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


#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Кб. Большую часть которых занимает заголовок )). Баловство ))

scrat
03.09.2009, 23:15
intNet, здравый выбор. Я бы посоветовал Borland C++ 3.1. Почему? Потому что он прост и весел(есть поддержка рисования в консоли). На нём учились очень многие.

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


добро пожаловать в кодерский клуб ;)

Gar|k
04.09.2009, 00:15
Эмм присоединяюсь к Hiro Protagonist тоже пишу в VC++ т.к пишу в основном системный софт, а в VS есть практически все нужные библеотеки хенлды и доки в msdn, а чего нет то есть в DDK :) Единственное Hiro Protagonist это не Cи, а winAPI.

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

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

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

Hiro Protagonist
04.09.2009, 00:38
2Gar|k
Зовите просто Hiro ^_^
Я нигде не говорил, что WinApi == C (в том числе кстате RTL != C). Я имел ввиду, что в любом С++ компиляторе можно писать в С-style и все будет нормально и это будет действительно C. Да и я бы не стал включать ту опцию, тк она приведет к использованию спецификации С89, в ктр нет некоторых полезных фич.

ss88
04.09.2009, 11:01
С программированием на С знаком не понаслышке (уже лет 6 это основная специализация) как под Винду, так и под *NIX. Могу посоветовать, как ни странно, использовать gcc и в Юниксе и в Винде.

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

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