在android 上面 运行纯C helloworld
由于要测系统的CPU属性,需要独立编译应用程序,便试了下编译纯C 程序,测试通过。
CC := $(NDK_BASE)/toolchain/arm-eabi/bin/arm-eabi-gcc
AR := $(NDK_BASE)/toolchain/arm-eabi/bin/arm-eabi-ar
INC := -I$(NDK_BASE)/include/bionic/arch-arm/include \
-I$(NDK_BASE)/include/bionic/include \
-I$(NDK_BASE)/include/kernel/include \
-I$(NDK_BASE)/include/libm/include \
-I$(NDK_BASE)/include/libm/include/arm \
-I$(NDK_BASE)/include/libstdc++/include
LINK := -nostdlib -Bdynamic \
-Wl,-T,$(NDK_BASE)/config/armelf.x \
-Wl,-dynamic-linker,/system/bin/linker \
-Wl,-z,nocopyreloc \
-L$(NDK_BASE)/lib \
-Wl,-rpath-link=$(NDK_BASE)/lib \
$(NDK_BASE)/lib/crtbegin_dynamic.o
POSTLINK := $(NDK_BASE)/lib/crtend_android.o
%.o: %.cpp
$(CC) $(CFLAGS) -fno-exceptions -fno-rtti $(INC) -o $@ -c $<
%.o: %.c
$(CC) $(CFLAGS) $(INC) -o $@ -c $<
include ./config.mk
EXECUTABLE := TEST
SOURCES := main.c
OBJECTS := $(SOURCES:.c=.o)
LIBS := -lc -lm
all: $(EXECUTABLE)
# need $(LINK) before all objects and $(POSTLINK) after all objects for
# android runtime setup.
TEST: $(OBJECTS)
$(CC) $(LINK) -o $@ $(OBJECTS) $(LIBS) $(POSTLINK)
clean:
rm -rf *.o
rm EXECUTABLE
测试程序 就是 printf("Hello world")
另外注意下,一般上传到手机data目录,并chmod下
相关文档:
无意中翻出了N年前写的递归-回溯法求解8皇后问题,干粹塞到博客中吧。
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define QUEENS 8
// 记录解的序号的全局变量。
int iCount = 0;
// 记录皇后在各列上的放置位置的全局数组。
int Site[QUEENS];
// 递归求解的函数。
void Q ......
和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰。本文将介绍微软C/C++编译器命令行模式设定和用法。 1、设置环境变量: PATH=C:\Program Files\Microsoft Visual Studio 8\VC\bin INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\include LIB=C:\Program Files\Microsof ......
-------------------------------------------
Linuxmine收集整理 作者:linux宝库 (http://www.linuxmine.com) 时间:2006-10-11
-------------------------------------------
C 是所有版本的UNIX上的系统语言.
C 在过去 ......
GPIO(General Purpose Input/Output的缩写)就是芯片的引脚,引脚是可编程的可对引脚的工作模式进行设置:输入模式(检测输入信号),输出模式(输出0或1),高阻状态(常用于AD转换),还有禁止或允许上内部下拉电阻(上拉:管脚通过电阻接高电平,下拉:管脚通过电阻接地,也可以外部接上拉或下拉电阻),还有管脚复用等功能,即 ......