Софтуерно Инженерство
Loading...
v.krastev avatar v.krastev 54 Точки

Поинтъри и настройка на Debugger

Привет!

Използвам Code BLocks като IDE  и уча поинтъри. следният код (eddit: най-отдолу, *b = *c го игнорирайте, така не се компилира естествено, проблемът е с *b = c) се компилира, но когато дойде момента за принтиране на вече предполагаемо обърнатите числа, крашва. защо? от тук следва и вторият ми въпрос - използвам MinGW, файлът е в проект, нито проектът, нито файлът имат празни знаци в имената, дебъгера е настроен да използва gdb.exe ивъпреки всичко, продължава когато натисна червената стрелка за Debug/Continue и имам breakpoints, да изписва в лога отдолу 

Starting the debuggee failed: No executable specified, use `target exec'.

[debug]> quit

Debugger finished with status 0
 

и никъде да не се спира, нито да се случва нещо друго. какво не правя както трябва?

Благодаря предварително на всеки!

Eddit: за дебъгера има отговор на проблема тук, но решението е следното: Try it in a path without spaces (and special characters). Какво трябва да значи това? името на проекта ми е LearningTheC, а името на ц файла - main. ...?

Тагове:
0
C Programming 08/11/2017 19:42:24
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки
Best Answer

Поздравления - чисто C и указатели - кеф !

Първо - декларираш функцията да приема параметри укзател към цяло число, а и подаваш цяло число(не указател). Единия вариант е да я викаш така :

swapNumbers(&n, &m);

а самата функция е:

void swapNumbers(int *a, int *b){
    int c = *a;
    *a = *b;
    *b = c;
}

Тоя CodeBlocks лично мен много ме дразни. Препоръчвам ти NetBeans. Него съм го търкалял и със MinGW и със  Cygwin, като Cygwin  по ми допада.

Препоръка за четиво: пишеш в гуглето C Primer Plus и си сваляш втория резултат.

Дерзай - чистото C е опасен звяр.

Друга препоръка - или си качи линукс Ubuntu, примерно и пак NetBeans за линукс или през виртуалка. Първо там няма да ти трябват разните му емулации, g++ си е част от системата, но още по важно - има едни туул, който е мега полезен. Казва се Valgrind и ти проверява кода за течове и други мизерии.

Поздрави !

0
10/11/2017 17:46:40
v.krastev avatar v.krastev 54 Точки

Благодаря!

Вземам предвид всичките съвети!

Поздрави!

1