stdio.h引用的是哪个

月光宝盒 2011-11-17 07:25:05
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
为了使用fread,fwirte等文件操作函数,要引入头文件,可在我的c文件(再external目录下)中加入都找不到这个头文件,写成绝对路径到底要加入哪个,工程中所有的stdio.h文件如下:

./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/include/stdio.h
./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/sysroot/usr/include/bits/stdio.h
./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/lib/gcc/i686-linux/4.4.3/include/ssp/stdio.h
./prebuilt/linux-x86/toolchain/i686-linux-glibc2.7-4.4.3/i686-linux/include/c++/4.4.3/tr1/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-x86/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-4/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-5/arch-x86/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-5/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-3/arch-arm/usr/include/stdio.h
./kernel/arch/powerpc/boot/stdio.h
./bootable/bootloader/lk/include/stdio.h
./external/connectivity/stlport/stlport/stdio.h
./external/stlport/stlport/stdio.h
./ndk/sources/cxx-stl/stlport/stlport/stdio.h
./bionic/libc/include/stdio.h
./development/ndk/platforms/android-8/include/stdio.h
./development/ndk/platforms/android-3/include/stdio.h
...全文
358 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
challchampion 2011-11-21
  • 打赏
  • 举报
回复
晕倒,你在驱动程序里调用应用程序库,当然是不行的

[Quote=引用 9 楼 zhangchiytu 的回复:]

是在ko文件中读写文件,
用filp_open,f_op->read这些函数可以读取。
好像不能用fread ,read的接口,只在用户空间可以调用。
[/Quote]
月光宝盒 2011-11-21
  • 打赏
  • 举报
回复
是在ko文件中读写文件,
用filp_open,f_op->read这些函数可以读取。
好像不能用fread ,read的接口,只在用户空间可以调用。
月光宝盒 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 challchampion 的回复:]

c库是不需要指定头文件的路径的,编译器会处理这个,我觉得还是检查下编译环境吧,工具链是否有问题,可以先编译系统带的例子试试
[/Quote]
工具链肯定没有问题,其他文件都可引用的
challchampion 2011-11-17
  • 打赏
  • 举报
回复
c库是不需要指定头文件的路径的,编译器会处理这个,我觉得还是检查下编译环境吧,工具链是否有问题,可以先编译系统带的例子试试
念茜 2011-11-17
  • 打赏
  • 举报
回复
这个应该在Android.mk里指明用的 INCLUDE_DIR +=
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-x86/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-4/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-5/arch-x86/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-5/arch-arm/usr/include/stdio.h
./prebuilt/ndk/android-ndk-r4/platforms/android-3/arch-arm/usr/include/stdio.h
看你是什么平台,android-*,然后选个构架,arch-*
应该有环境变量直接可以用,你可以借鉴一下其他程序怎么写的mk
月光宝盒 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 west_link 的回复:]
把尖括号改成双引号试试看,两者查找的路径是不一样的。
[/Quote]
先前试过了,不行
月光宝盒 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bluecat_crystal 的回复:]
你到底想要引用哪个stdio.h?
[/Quote]
就是想要调用fread fwrite等文件操作函数,不知道引用哪个stdio.h,起他文件都是
直接写的#include <stdio.h>
West_Link 2011-11-17
  • 打赏
  • 举报
回复
把尖括号改成双引号试试看,两者查找的路径是不一样的。
nulls 2011-11-17
  • 打赏
  • 举报
回复
你到底想要引用哪个stdio.h?
月光宝盒 2011-11-17
  • 打赏
  • 举报
回复
其他引用fread的c文件只要这么写,就ok
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>

我的却不可以:照不到这些文件。
好像可以再makefile中制定include的路径,但这些文件具体的路径是哪些呢?
调用fread的是编译到ko文件

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧