+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 20 of 34

Thread: Ошибка при компиляции

  1. #1
    AntiDote's Avatar

    Default Ошибка при компиляции

    Уважаемые форумчане. Помогите разобраться с примером из книги. Я начинающий и многое для меня пока не понятно. Книга: Эриксон "Хакинг - искусство эксплойта." 2-ое издание. Там есть практический пример:

    Code:
    #include <stdio.h>
    int main()
    {
    int i;
    for(i=0; i < 10; i++) // Цикл повторяется 10 раз.
    {
    printf(“Hello, world!\n”); // Вывести строку.
    }
    return 0; // Сообщить ОС, что программа завершилась без ошибок.
    }

    Но он у меня в программе Pelles C for Windows почему то не работает.
    Пишет:
    Building proba.obj.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: '\x201c'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier '"Hello' (did you mean '_ftello'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2140: Type error in argument 1 to 'printf'; expected 'const char * restrict' but found 'int'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier 'world' (did you mean 'ftell'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ')' but found '!'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ';' but found '!'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: '\x5c'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier '\n' (did you mean 'i'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2036: Invalid character: '\x201d'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ';' but found '"'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2048: Undeclared identifier '"' (did you mean 'i'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2001: Syntax error: expected ';' but found ')'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(7): error #2061: Invalid statement termination.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier 'завершилась' (did you mean 'i'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2001: Syntax error: expected ';' but found 'без'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier 'без' (did you mean 'i'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2001: Syntax error: expected ';' but found 'ошибок'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(10): error #2048: Undeclared identifier 'ошибок' (did you mean 'без'?).
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(11): error #2047: Expected a field name.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(11): error #2001: Syntax error: expected ';' but found '}'.
    *** Error code: 1 ***
    Done.

    Если я убираю значения int i; for (i=10; i<10; i++), то тогда работает.

    В чём тут загвоздка?
    Last edited by ximera; 10-08-2014 at 12:49.

  2. #2
    REU's Avatar

    Default Re: Помогите разобраться.

    Такие ошибки возникают при копирование кода откуда-то. Лучше переписать код вручную.

  3. 2 пользователя(ей) сказали cпасибо:
    AntiDote (10-08-2014) Dark Koder (10-08-2014)
  4. #3
    AntiDote's Avatar

    Default Re: Помогите разобраться.

    Я писал в ручную, это сейчас на форуме, чтобы не писать, скопировал. В ручную тоже не работает. В ручную пишет вот что:

    Building proba.obj.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(5): error #2001: Syntax error: expected '(' but found 'i'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ';' but found ')'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2061: Invalid statement termination.
    *** Error code: 1 ***
    Done.

  5. #4
    ximera's Avatar

    Default Re: Помогите разобраться.

    1. У нас есть тег HCODE которым следует обрамлять код.
    2. Тему желательно размешать в "Вопрос-Ответ"
    3. Элементарно Ватсон, кавычки русские, переключи клаву.

    Совет: не копируй код, используй нормальные IDE, или на крайняк NotePad++ или SublimeText, они эту хрень отсекают еще на этапе написания кода.
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  6. 2 пользователя(ей) сказали cпасибо:
    AntiDote (10-08-2014) Dark Koder (10-08-2014)
  7. #5
    AntiDote's Avatar

    Default Re: Помогите разобраться.

    Кавычки английские. Писал на английской раскладке.

  8. #6
    ximera's Avatar

    Default Re: Ошибка при компиляции

    У меня этот пашет, а твой не пашет, ибо строка не подсвечивается даже как строка.

    Code:
    #include <stdio.h>
    int main()
    {
    int i;
    for(i=0; i < 10; i++) // Цикл повторяется 10 раз.
    {
    printf(“Hello, world!\n”); // Вывести строку.
    }
    return 0; // Сообщить ОС, что программа завершилась без ошибок.
    }
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  9. #7
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Code:
    #include <stdio.h>
    int main ()
    {
    int i;
    	for i;
    	(i=10; i<10; i++)
    {
    printf ("Hello, World!\n");
    	}
    	return 0;
    }
    Вот это написано в ручную.

    А это ответ программы:

    Building proba.obj.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(5): error #2001: Syntax error: expected '(' but found 'i'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ';' but found ')'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2061: Invalid statement termination.
    *** Error code: 1 ***
    Done.
    Last edited by AntiDote; 14-08-2014 at 16:44.

  10. #8
    Izg0y's Avatar

    Default Re: Ошибка при компиляции

    Возможно кодировка не та... Сегрей, вы в чём компилите?
    ,--= Реальность - это костыль для тех, кто не имеет воображения =--,

  11. 4 пользователя(ей) сказали cпасибо:
    AntiDote (10-08-2014) Dark Koder (10-08-2014) keyst0rke (04-10-2014) ximera (10-08-2014)
  12. #9
    ximera's Avatar

    Default Re: Ошибка при компиляции

    Компилятор какой, в чем пишешь?
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  13. #10
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Pelles C for Windows

  14. #11
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Quote Originally Posted by ximera View Post
    У меня этот пашет, а твой не пашет, ибо строка не подсвечивается даже как строка.

    Code:
    #include <stdio.h>
    int main()
    {
    int i;
    for(i=0; i < 10; i++) // Цикл повторяется 10 раз.
    {
    printf(“Hello, world!\n”); // Вывести строку.
    }
    return 0; // Сообщить ОС, что программа завершилась без ошибок.
    }
    Это где смотреть нужно?

  15. #12
    ximera's Avatar

    Default Re: Ошибка при компиляции

    Попробуй действительно глянуть кодировки. Потому что оно не распознает кавычки.

    Совет: попробуй DevCpp вроде как норм работает, и легкий. Я сам с него начинал, по совету сенсея.

    Quote Originally Posted by AntiDote View Post
    Это где смотреть нужно?
    Ну Я в SublimeText 3 смотрю. Кстати тоже очень советую к использованию, умеет кучу плюшек, плюс плагины.
    Last edited by ximera; 10-08-2014 at 13:13.
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  16. Пользователь сказал cпасибо:
    AntiDote (10-08-2014)
  17. #13
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Скачал, установил, пробую.

  18. #14
    klaus's Avatar

    Default Re: Ошибка при компиляции

    Quote Originally Posted by AntiDote View Post
    Code:
    #include <stdio.h>
    int main ()
    {
    int i;
    	for i;
    	(i=10; i<10; i++)
    {
    printf ("Hello, World!\n");
    	}
    	return 0;
    }
    Вот это написано в ручную.

    А это ответ программы:

    Building proba.obj.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(5): error #2001: Syntax error: expected '(' but found 'i'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ')' but found ';'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2001: Syntax error: expected ';' but found ')'.
    C:\Users\sergej\Documents\Pelles C Projects\proba\proba.c(6): error #2061: Invalid statement termination.
    *** Error code: 1 ***
    Done.
    В данном случае у вас ошибка в коде. Опечатались возле начала цикла.

  19. Пользователь сказал cпасибо:
    Dark Koder (10-08-2014)
  20. #15
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    В этой тоже у меня не получается

  21. #16
    ximera's Avatar

    Default Re: Ошибка при компиляции

    Quote Originally Posted by AntiDote View Post
    В этой тоже у меня не получается
    В этой тоже самое?
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  22. #17
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Компилятор: Default compiler
    Building Makefile: "C:\Dev-Cpp\Makefile.win"
    Выполнение make...
    make.exe -f "C:\Dev-Cpp\Makefile.win" all
    gcc.exe -c main2.c -o main2.o -I"C:/Dev-Cpp/include"

    gcc.exe main2.o -o "proba.exe" -L"C:/Dev-Cpp/lib" -mwindows

    gcc.exe: Internal error: Aborted (program collect2)
    Please submit a full bug report.
    See <URL:http://www.mingw.org/bugs.shtml> for instructions.

    make.exe: *** [proba.exe] Error 1

    Выполнение завершено

  23. #18
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    А может какие то преднастройки программы нужны? Или преднастройки нового проекта?

  24. #19
    AntiDote's Avatar

    Default Re: Ошибка при компиляции

    Quote Originally Posted by klaus View Post
    В данном случае у вас ошибка в коде. Опечатались возле начала цикла.
    Будьте добры, тыкните пальцем, В чём опечатка?

  25. #20
    REU's Avatar

    Default Re: Ошибка при компиляции

    Quote Originally Posted by AntiDote View Post
    Будьте добры, тыкните пальцем, В чём опечатка?
    Он же написал в начале цикла. Может тебе сперва стоит почитать книжки нацеленные на изучения языка, а не читать главы в которых вскользь упоминается оно.

    Ну вот я скачал и установил Pelles С. создал файл, написал в нем следующий код
    Code: C/C++
    #include <stdio.h>

    int main() {
    int i;

    for (i = 0; i < 10; i++) {
    printf("Hello, world!\n");
    }

    return 0;
    }

    Сохранил и запустил на выполнение (Ctrl+F5) и всё отлично собрало, запустилось и вывелось.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:29
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org