关于在TEE环境下,无法使用htobe64函数的问题
2016-04-08 17:46
393 查看
在TEE环境下,o可能由于安全问题,无法使用htobe64函数,所以使用另一种方式来完成这个函数的转换功能:
#include <iostream>
#include <stdio.h>
#include <stdarg.h>
#include <dirent.h>
#include <errno.h>
#include <endian.h>
#include <inttypes.h>
#include <stdint.h>
using namespace std;
static uint32_t convert_x(uint32_t x)
{
return x>>24 | x>>8&0xff00 | x<<8&0xff0000 | x<<24;
}
//这个函数完成和htobe64一样的功能
static uint64_t convert(uint64_t x)
{
return convert_x(x)+0ULL<<32 | convert_x(x>>32);
}
int main()
{
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
uint64_t times = (uint64_t)((uint64_t)ts.tv_sec * 1000 + ts.tv_nsec / 1000000);
uint64_t timestamp =
htobe64(times);
unsigned char out[8]={0};
printf("times-->%"PRIu64"\n",convert(times));
printf("timestamp-->%"PRIu64"\n",timestamp);
printf("timestampqq-->%"PRIu64"\n",htobe64((uint64_t)ts.tv_sec * 1000 + ts.tv_nsec / 1000000));
return 0;
}
#include <iostream>
#include <stdio.h>
#include <stdarg.h>
#include <dirent.h>
#include <errno.h>
#include <endian.h>
#include <inttypes.h>
#include <stdint.h>
using namespace std;
static uint32_t convert_x(uint32_t x)
{
return x>>24 | x>>8&0xff00 | x<<8&0xff0000 | x<<24;
}
//这个函数完成和htobe64一样的功能
static uint64_t convert(uint64_t x)
{
return convert_x(x)+0ULL<<32 | convert_x(x>>32);
}
int main()
{
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
uint64_t times = (uint64_t)((uint64_t)ts.tv_sec * 1000 + ts.tv_nsec / 1000000);
uint64_t timestamp =
htobe64(times);
unsigned char out[8]={0};
printf("times-->%"PRIu64"\n",convert(times));
printf("timestamp-->%"PRIu64"\n",timestamp);
printf("timestampqq-->%"PRIu64"\n",htobe64((uint64_t)ts.tv_sec * 1000 + ts.tv_nsec / 1000000));
return 0;
}
相关文章推荐
- 前端开发工程师最常问的问题
- 学习笔记之段页式寻址笔记
- Chromium进程模型
- JavaScript逻辑操作符 转载自博客园 http://www.cnblogs.com/pigtail/archive/2012/03/09/2387486.html
- 在HI3531上移植和运行QT4.8.6
- 关于Android webview 的cookie同步的坑
- 个人网站重构
- 关于DOM中的model(将元素转成对象进行操作)
- 【JQuery】表单插件——form
- Android Studio---Error:(18, 0) Gradle DSL method not found: 'android()'
- iOS 如何设置一整张图片作为背景图片(穿透导航栏)
- [android]一个关于UDP和TCP的项目实践(二)
- StoryBoard实现圆角
- java如何获取服务器路径
- Head First Python 学习札记 2016-04-08
- Handler的发送消息
- windows 下QT5.5+vs2013开发环境搭建
- 解决在构造函数中使用Session,Session为null的问题
- 一些常用黑客工具的初步使用
- Spring笔记1