Вопросы с тегом «c»

C - это язык программирования общего назначения, используемый для операционных систем, игр и других высокопроизводительных приложений, и он явно отличается от C ++. Он был разработан в 1972 году Деннисом Ритчи для использования с операционной системой Unix.

4
Почему FreeBSD отказывается от GCC в пользу Clang / LLVM?
Поэтому я занимался серфингом в сети и наткнулся на эту статью . В основном говорится, что FreeBSD , начиная с версии 10 и выше, будет отказываться от GCC в пользу Clang / LLVM . Из того, что я видел в сети, Clang / LLVM - довольно амбициозный проект, но с …
241 freebsd  compiling  gcc  c  llvm 

10
Почему argv включает название программы?
Типичные программы Unix / Linux принимают входные данные командной строки в качестве аргумента count ( int argc) и аргумента vector ( char *argv[]). Первым элементом argvявляется имя программы, за которым следуют фактические аргументы. Почему имя программы передается исполняемому файлу в качестве аргумента? Есть ли примеры программ, использующих свое имя (может …

7
Реализуются ли потоки как процессы в Linux?
Я просматриваю эту книгу « Расширенное программирование для Linux» Марка Митчелла, Джеффри Олдхэма и Алекса Самуэля. Это с 2001 года, так что немного стар. Но я все равно нахожу это довольно хорошим. Однако я дошел до того, что он отличается от того, что мой Linux выдает в выводе оболочки. На …

4
Почему программа с fork () иногда выводит свой вывод несколько раз?
В программе 1 Hello worldпечатается только один раз, но когда я удаляю \nи запускаю его (программа 2), вывод печатается 8 раз. Может кто-нибудь, пожалуйста, объясните мне значение \nздесь и как это влияет на fork()? Программа 1 #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { printf("hello world...\n"); fork(); …
50 c  fork 

6
Какую версию библиотеки C использует моя система?
Как я могу точно сказать, какую пользовательскую библиотеку C использует моя система? Возможные причины, по которым эта информация нужна: Есть гигантский пакет с исходным кодом, который я собираюсь загрузить, и я уверен, что он сделает правильные проверки и перечислит версию библиотеки mininum, но я бы предпочел избавить себя от потенциальных …

5
Как убить все процессы пользователя, используя их UID
Я хочу убить все запущенные процессы конкретного пользователя из сценария оболочки или из собственного кода в системе Linux. Нужно ли читать каталог / proc и искать их? Любые идеи? Есть ли в Linux динамическое отображение pids под UID? Разве это не в процедуре? Если нет, то где хранится этот список? …
42 c  linux  proc 

6
Как вывести двоичный файл как строковый литерал C / C ++?
У меня есть двоичный файл, который я хотел бы включить в исходный код C (временно, для целей тестирования), поэтому я хотел бы получить содержимое файла в виде строки C, что-то вроде этого: \x01\x02\x03\x04 Возможно ли это, возможно, с помощью odили hexdumpутилит? Хотя в этом нет необходимости, если строка может переноситься …
39 c  hexdump  xxd 


2
Размер стека по умолчанию для pthreads
Как я понимаю, размер стека по умолчанию для pthread в Linux составляет 16K. Я получаю странные результаты при моей 64-битной установке Ubuntu. $ ulimit -s 8192 Также: pthread_attr_init(&attr); pthread_attr_getstacksize(&attr, &stacksize); printf("Thread stack size = %d bytes \n", stacksize); Prints Thread stack size = 8388608 bytes Я совершенно уверен, что размер …
24 c  multithreading 

3
Как копирование при записи в fork () обрабатывает несколько форков?
Согласно Википедии (что может быть не так) Когда выполняется системный вызов fork (), создается копия всех страниц, соответствующих родительскому процессу, загружаемая ОС в отдельную область памяти для дочернего процесса. Но это не нужно в определенных случаях. Рассмотрим случай, когда дочерний процесс выполняет execсистемный вызов "" (который используется для выполнения любого …
23 linux  c  fork 

2
POSIX гарантирует пути к любым стандартным утилитам?
Из C, какой самый простой способ запустить стандартную утилиту (например, ps) и ничего другого? Имеет ли POSIX гарантии , что, например, стандарт psв /bin/psили я должен сбросить переменную окружения PATH , чтобы получить то , что я с confstr(_CS_PATH, pathbuf, n);и затем запустить программу через PATH-поиска?
22 path  c  posix  exec 

4
сделать файл журнала
Есть ли способ сделать файл журнала для обслуживания некоторых данных в / var / log / с помощью некоторой библиотечной функции или системного вызова на языке c в linux. И я также хочу знать стандарты, которым мы должны следовать, чтобы писать и обрабатывать журнал. Благодарность
22 linux  logs  c  syslog 

4
После того, как fork (), где ребенок начинает его выполнение?
Я пытаюсь изучить программирование в UNIX и натолкнулся на вопрос относительно fork (). Я понимаю, что fork () создает идентичный процесс текущего запущенного процесса, но где он начинается? Например, если у меня есть код int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent …
22 process  c  fork  api 

7
Можно ли узнать размеры типов данных (int, float, double, ...) в системе, не написав C-программу?
Можно ли узнать размеры типов данных (int, float, double, ...) в системе Linux без написания программы на C? Будут ли результаты для C такими же, как для C ++ и других языков программирования в той же системе Linux?
19 c 

5
Как я могу найти утечку памяти запущенного процесса?
Есть ли способ, я могу найти утечку памяти запущенного процесса? Я могу использовать Valgrind для обнаружения утечек памяти перед началом процесса. Я могу использовать GDB, чтобы прикрепить его к запущенному процессу. Как я могу отладить утечки памяти запущенного процесса?
19 c  gdb  memory-leaks 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.