Установлен ли ctype.h в моей системе?
Я бегу 16.04. Моя программа на C использует isdigit(int). Я получаю следующее, когда я запускаю его под GDB:
`Breakpoint 1, check_tok (token=0x6f7c20 <tokens> ".t") at outline.c:150
150 unsigned char *tp=token;
(gdb) s
151 if(isdigit(*tp))return NUM;
(gdb)
__ctype_b_loc () at ../include/ctype.h:38
38 ../include/ctype.h: No such file or directory.
(gdb)
Я уже выполнил:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
`Я не получаю никаких предупреждений, когда запускаю gcc на outline.c. в верхней части моей программы у меня есть:
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include "outline.h"
Я получаю только вышеупомянутую ошибку, пока в GDB.
Что здесь происходит? Спасибо.
1 ответ
Проблема не в том, что у вас нет ctype.h, потому что он нужен вам для компиляции вашей программы. В вашем случае это зависит от того, как включает GDB. Может быть, вам нужно использовать "locate ctype.h" и установить внутри gdb каталог include, например:
установить путь замены / usr / src / include / mnt / include
пожалуйста, посмотрите здесь: https://sourceware.org/gdb/onlinedocs/gdb/Source-Path.html