将指针转换为long
Casting pointers into long
我正在使用JNI(使用本机代码为Android开发)。
的情况是我想发送给Java类一个指针到本机对象。对于这一点,我看到过将指针方向转换为长,像这样:
long pointerDirection = (long)pointer;
安全吗?我读到过,在一些架构中,一个'长'只是32位,但指针只需要32位,对吗?还是64位,他们也用64位?
谢谢
安全吗?
不,绝对不是——标准没有这样的保证(即使它在许多机器上实际工作)。
可以安全地(仅)将其强制转换为整型ptrdiff_t
相关文章:
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 错误:隐式转换更改符号:'int'到'unsigned long'
- 从 long 转换C++位集构造函数的复杂性是多少?
- C++11 模板函数"implicity"将位集<N>转换为"unsigned long"
- 替换 c++ 中的 c 样式强制转换 (long&)
- 如何在<typename> <long> 不更改给定代码的情况下将自定义向量与 STL 向量相互转换?
- 为什么从无符号long-long转换为double会导致数据丢失
- 在C++中将 Java long 转换为 int64
- 将 vector<unsigned long> 转换为 char buffer[]
- 在C++中将long转换为CString
- 在c++中将unsigned long转换为char*
- c++从long转换为float的奇怪错误
- Stringstream将unsigned long转换为带逗号的格式化数字字符串
- 如何在没有sprintf()的情况下将long转换为string
- c++将Lat Long转换为BNG
- 将无符号long-long转换为wchar_t*并连接
- 如何将Lat,long转换为XY坐标系(例如UTM),然后将其映射到我的图像的像素空间
- 使用memcpy、endian将无符号long转换为std::vector
- 将 LONG 转换为函数指针
- 将long转换为wchar_t *