小编sam*_*ami的帖子

使用operator new分配的数据结构是否会对C代码产生任何副作用

struct S1{...};

extern "C" struct S1 *f();

extern "C" void freeS1(struct S1 *ptr);
Run Code Online (Sandbox Code Playgroud)

a.cpp

extern "C" struct S1 *f() {
    struct S1 *ptr = new struct S1();
    ...
    return ptr;
};

extern "C" void freeS1(struct S1 *ptr) { 
    delete ptr;
};
Run Code Online (Sandbox Code Playgroud)

公元前

struct S1 *ptr = f();
.....
freeS1(ptr);
Run Code Online (Sandbox Code Playgroud)

c c++

1
推荐指数
1
解决办法
103
查看次数

为什么我们需要使用 android 工具链(或 NDK)来编译在 android 应用程序上下文中运行的 c/c++ 代码?

我构建了一个库(.so),在某些 Android 应用程序中从 JNI 代码调用该库。JNI 代码是使用 NDK 构建的。

如果我使用 android 工具链构建该库,则该库在从 JNI 代码调用时运行良好。

如果我使用另一个工具链(在同一 ARM 设备上用于非 Android 应用程序)构建库,则从 JNI 代码调用时该库会崩溃。

为什么我们需要使用 android 工具链(或 NDK)来编译在 android 应用程序上下文中运行的 c/c++ 代码?为什么不使用其他工具链?

c c++ android android-ndk

1
推荐指数
1
解决办法
212
查看次数

对 UDP 套接字使用 shutdown()

“关闭”功能对 udp 套接字有什么影响?

int shutdown(int socket, int how);
Run Code Online (Sandbox Code Playgroud)

c sockets linux

1
推荐指数
1
解决办法
804
查看次数

标签 统计

c ×3

c++ ×2

android ×1

android-ndk ×1

linux ×1

sockets ×1