Войти

Показать полную графическую версию : Помогите в изучении C.


Страниц : 1 [2]

Efimalex
01-12-2014, 21:32
Так что мне делать, в какую сторону "копать" то хоть?

lxa85
01-12-2014, 23:39
#include <iostream>
int main(){
printf("Hellow World! \n");
system("pause");
return 0;
} ?
Так что мне делать, в какую сторону "копать" то хоть? »
Туда, где все работает. Точней сказать не могу, сам переодически от этого страдаю. :(

Iska
02-12-2014, 05:53
Туда, где все работает. »
У меня в «Dev-Cpp» вышеуказанный автором «проблемный» «Hello, world!» код работает ;). Дело явно в настройках среды, проекта или компилятора.

alef2474
02-12-2014, 15:14
Так что мне делать, в какую сторону "копать" то хоть? »
Туда, где все работает. »

В MS Visual Studio.
Возможно, мы с Iska друг друга неправильно поняли.
Я имел в виду, что в любом деле лучше пользоваться наилучшим имеющимся инструментом, например, копать землю острой и легкой лопатой, а не тупой и тяжелой. Можно изучать Windows на примере windows 98 или ХР(знакомясь с их глюками), а можно на примере win 8.

Программирование на чем угодно - это прежде всего способность самому понять и найти свои ошибки и исправить и потом меньше их допускать.
Hello world очень здорово выглядела в 1960-70-е годы, когда электрическая консольная машинка в большом машинном зале, заставленном шкафами, составлящими один компьютер, вдруг оживала и начинала сама печатать "Hello world!", при этом клавиши на ней сами нажимались, будто за ней сидел кто-то невидимый. Или Вы ей что-то отвечали на той же машинке, а она перебивала вас и вы отдергивали руки от неожиданного движения клавиатуры под пальцами.Компьютер был реально живой - он двигал "пальцами", такого сейчас нет.В 80-е годы появились мониторы.

Efimalex
02-12-2014, 21:13
Пришел к выводу что проблема кроется где то в настройках самих проектов, потому что если создать готовый Hello World ANSI C Project, а код туда поставить свой - то все работает. Осталось за малым найти различия в настройках. Кстати, а кто какими средами и компиляторами пользуется, помимо MS Visual Studio?

Iska
03-12-2014, 04:39
Dev-C++. Только «пользуюсь» — это громко сказано. Я давно уже не программист. Так, применяю для помощи.

Drongo
03-12-2014, 16:07
Кстати, а кто какими средами и компиляторами пользуется, помимо MS Visual Studio? »Embarcadero RAD Studio 2010

User001
06-12-2014, 06:20
Насчет #include <stdio.h> main() { printf("Hello, world\n"); } »void main(void) vs main() (http://stackoverflow.com/questions/13876868/void-mainvoid-vs-main)
Пришел к выводу что проблема кроется где то в настройках самих проектов, потому что если создать готовый Hello World ANSI C Project, а код туда поставить свой - то все работает. Осталось за малым найти различия в настройках. Кстати, а кто какими средами и компиляторами пользуется, помимо MS Visual Studio? »Так вот и посмотрите в чем различия проектов (флаги компилятора и т.д.). Обратите внимание на стандарты (http://ru.wikipedia.org/wiki/ANSI_C).
Средства разработки выбирайте сами, исходя из своих целей и желаний. Для начала лучше научитесь писать в notepad и собирать вручную, чтобы потом не гадать где и что значит у нормальной IDE.
А так, к примеру, Iska, пишет классные скрипты, а среда, возможно, не впечатлит :)

pva
06-12-2014, 15:28
Так что мне делать, в какую сторону "копать" то хоть? » »
Efimalex, Дело вот в чём:
в unix- подобнызх системах (где и родился "C") стартующая функция имеет вид

int main(int argc, char **argv);
argc - размер массива argv
argv - массив строк-параметров. Считается что оболочка unix разбивает строчку с аргументами на массив и вызывает main()
из-за особенностей вызова cdecl, можно пропускать аргументы

Микрософт решил, что им это не подходит, и придумал свою функцию

int WinMain(HINSTANCE this, HINSTANCE prev. char *cmdline, int nshow);
this - описатель текущего приложения
prev - описатель прошлого запущенного его экземпляра
cmdline - командная строка целиком
nshow - что рекомендуется сделать с окошком (функцией ShowWindow)

Чтобы работали оба варианта, mingw имеет флаг компоновки, при котором используется та или иная стартующая функция.
Убери в проекте Settings -> Tool Settings -> command или где-то там слова -Wl,-subsystem,windows
http://stackoverflow.com/questions/7474504/compiling-a-win32-gui-app-without-a-console-using-mingw-and-eclipse
Но лучше создавай Empty C Project для MinGW и вручную добавляй файл main.c

Efimalex
06-12-2014, 21:17
pva, спасибо, попробую. User001, отличия ищу, но пока времени из за работы было мало:)

Efimalex
08-12-2014, 22:11
Как бы стыдно не было это писать, но надо:) Кто бы за меня нажал Ctrl+S перед Build :blush2: на другом ноуте в Eclipse это делалось автоматом.




© OSzone.net 2001-2012