C++
BFP_BSP
开发
展开
-
LOCAL_SHARED_LIBRARIES 与 LOCAL_LDLIBS,LOCAL_LDFLAGS的区别
LOCAL_LDLIBS :链接的库不产生依赖关系,一般用于不需要重新编译的库,如库不存在,则会报错找不到。且貌似只能链接那些存在于系统目录下本模块需要连接的库。如果某一个库既有动态库又有静态库,那么在默认情况下是链接的动态库而非静态库。如:LOCAL_LDLIBS += -lm –lz –lc -lcutils –lutils –llog …如果你的Android.mk文件中只有这么一行,那么将会采用动态链接。LOCAL_SHARED_LIBRARIES 会生成依赖关系,当库不存在时会去编译这个库。原创 2021-04-26 16:56:13 · 664 阅读 · 0 评论 -
系统编译中LOCAL_CFLAGS的用法
LOCAL_CFLAGS += -DXXX ,相当于在所有源文件中增加一个宏定义#define XXXeg:在Android.mk中增加ifeq ($(PRODUCT_MODEL),XXX_A)LOCAL_CFLAGS += -DBUILD_MODELendif即能在所编译的Cpp文件中使用:#ifdef BUILD_MODEL....#endif...原创 2021-04-26 16:55:23 · 1602 阅读 · 0 评论 -
C++中的定位放置new(placement new)
一般来说,使用new申请空间时,是从系统的“堆”(heap)中分配空间。申请所得的空间的位置时根据当时的内存的实际使用情况决定的。但是,在某些特殊情况下,可能需要在程序员指定的特定内存创建对象,这就是所谓的“定位放置new”(placement new)操作。定位放置new操作的语法形式不同于普通的new操作。例如,一般都用如下语句A* p=new A;申请空间,而定位放置new操作则使用如下语句A* p=new (ptr) A;申请空间,其中ptr就是程序员指定的内存首地址。考察如下程序。#in原创 2020-08-28 16:22:54 · 445 阅读 · 0 评论