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
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.