易截截图软件、单文件、免安装、纯绿色、仅160KB

Android编译环境(1) 编译Native C的helloworld模块

    Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的
Android.mk.
Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清
楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给Android增加一个新的Component会比较简单。
        编译Java程序可以直接采用Eclipse的集成环境来完成,这里就不重复了。我们主要针对C/C++来说明,下面通过一个小例子来说明,如何在Android 中增加一个C程序的Hello World:
1. 在$(YOUR_ANDROID)/development 目录下创建hello目录,其中$(YOUR_ANDROID)指Android源代码所在的目录。
- # mkdir $(YOUR_ANDROID)/development/hello
2. 在$(YOUR_ANDROID)/development/hello/目录编写hello.c文件,hello.c的内容当然就是经典的HelloWorld程序:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
3. 在$(YOUR_ANDROID)/development/hello/目录编写Android.mk文件。这是Android
Makefile的标准命名,不要更改。Android.mk文件的格式和内容可以参考其他已有的Android.mk文件的写法,针对
helloworld程序的Android.mk文件内容如下:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
hello.c
LOCAL_MODULE := helloworld
include $(BUILD_EXECUTABLE)
注意上面LOCAL_SRC_FILES用来指定源文件;,LOCAL_MODULE指定要编译的模块的名字,下一步骤编译时就要用到;include
$(BUILD_EXECUTABLE)表示要编译成一个可执行文件,如果想编译成动态库则可用BUILD_SHARED_LIBRARY,这些可以
在$(YOUR_ANDROID)/build/core/config.mk查到。
4. 回到Android源代码顶层目录进行编译:
# cd $(YOUR_ANDROID) && make helloworld
注意make helloworld中的目标名helloworld就是上面Android.mk文件中由LOCAL_MODULE指定的模块名。编译结果如下:
target thumb C: helloworld <= development/hello/hello.c
target Executable: helloworld (out/target/product/generic/obj/EXECUTABLES/helloworld_intermediates/LINKED/helloworld)
target Non-prelinked: helloworld (out/target/product/g


相关文档:

C 运行时错误 R6002

如下代码编译运行就会提示R6002错误 #include
struct xxx{
  float score;
};
int main()
{
  xxx* p = new xxx;
  scanf( "%f" , &p->score );
  delete p;
} 解决方案很简单 int main()
{
  xxx* p ......

关于perl中和C中的sort机制 (转载)

关于perl中和C中的sort机制
(转载)
细读C++ primer,终于理解了一直比较疑惑的perl和C的sort函数机制。我到不是疑惑它的用法,而是很疑惑它的形式,为什么要传递一个子程序的匿名引用给它呢,而且形式还很古怪,一定要是$a<$b,$a<=>$b之类的。要求严格且古怪。
今夜突然看到p.384页,看到书上对quicksort排 ......

Linux下的C编程实战之文件系统编程

1.Linux文件系统
  Linux

持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供
了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系:
  在Linux平台下对文件编程可 ......

Pro*C 中嵌入pl/sql块

/* 包含C头文件 */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/* 包含SQLCA头文件 */
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE sqlda;
int main()
{
    EXEC SQL BEGIN DECLARE SECTION;
    int  money;
    ......

c文件操作函数

c文件操作函数

clearerr(清除文件流的错误旗标)  
相关函数  feof
表头文件  #include 
定义函数  void clearerr(FILE * stream); 
函数说明  clearerr()清除参数stream指定的文件流所使用的错误旗标。 
返回值  
fclose(关闭文件)  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号