Jump to content

    

сборка ядра, не находит файл <stdio.h>

Его и нет в исходниках ядра по пути /include.

Как правильно поступить?

Положить туда, или дать ссылку на другое место?

...\arch\powerpc\boot\stdio.h

 

хочу использовать system();

Share this post


Link to post
Share on other sites
Его и нет в исходниках ядра по пути /include.

Как правильно поступить?

Положить туда, или дать ссылку на другое место?

...\arch\powerpc\boot\stdio.h

 

хочу использовать system();

 

Вы издеваетесь?

Share this post


Link to post
Share on other sites

Меня интересует как корректно делать вызов системных команд из .c

Буду делать через system();

В чем издевательство?

Вопрос больше по правильности подхода- как это делать в ядре.

Share this post


Link to post
Share on other sites
В чем издевательство?

Раз вы включаете файл через "<>", он ищется не в папках исходников, а в соответствующей папке инструментария. Тем более, что это файл стандартной библиотеки

Share this post


Link to post
Share on other sites

По-другому спрошу-

как в ядре линукса, в коде драйвера, выполнить системный вызов, например,

system("alsactl restore");

?

Похоже, что нет этой ф-ии в самом ядре

 

stdlib.h

#ifndef _PPC_BOOT_STDLIB_H_
#define _PPC_BOOT_STDLIB_H_

unsigned long long int strtoull(const char *ptr, char **end, int base);

#endif

Share this post


Link to post
Share on other sites
По-другому спрошу-

как в ядре линукса, в коде драйвера, выполнить системный вызов, например,

system("alsactl restore");

?

Ядро не должно ничего дёргать в userspace.

Share this post


Link to post
Share on other sites

как тогда сделать?

После того, как я запускаю aplay ..., идет загрузка звуковой карты. Вместе с этим загружаются уровни громкости в нее. Вот хотел бы после загрузок всех регистров звуковухи, сразу вызывать

alsactl restore, чтобы переписывать на нужные уровни громкости

 

Share this post


Link to post
Share on other sites
...

А написать скрипт, который все грузит нет возможности?

Share this post


Link to post
Share on other sites
как тогда сделать?

После того, как я запускаю aplay ..., идет загрузка звуковой карты. Вместе с этим загружаются уровни громкости в нее. Вот хотел бы после загрузок всех регистров звуковухи, сразу вызывать

alsactl restore, чтобы переписывать на нужные уровни громкости

 

Ядро живет в совершенно другом мире и может выполнять запросы из мира пространства пользователя, но не наоборот. Это аксиома.

 

Напишите скрипт, который загружает все в желательном порядке.

 

Кстати даже название топика выглядит издевательством. В ядре не бывает stdio.h. Все похожие функции выполнены совершенно иначе и в другом месте.

Share this post


Link to post
Share on other sites

Коллеги, я намерянно ни над кем не издеваюсь.

Просто сам Линукс только начал осваивать. Вот и вопросы соответствующие.

За помощь- спасибо.

Share this post


Link to post
Share on other sites
Коллеги, я намерянно ни над кем не издеваюсь.

Просто сам Линукс только начал осваивать. Вот и вопросы соответствующие.

За помощь- спасибо.

 

 

Да я уже понял :)

Просто дар речи потерял, когда заголовок прочитал.

Share this post


Link to post
Share on other sites
Раз вы включаете файл через "<>", он ищется не в папках исходников, а в соответствующей папке инструментария.

А где находятся эти "волшебные" папки? Потому как , gcc одни .h находит другие нет, или может находит , но не те. :laughing:

Share this post


Link to post
Share on other sites
А где находятся эти "волшебные" папки? Потому как , gcc одни .h находит другие нет, или может находит , но не те. :laughing:
gcc -I/путь/к/файлу

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this