c++ 强制转换-64位linux中long和int之间的转换

问题描述

64位linux中long和int之间的转换

强制转换不是不可以,只是我在Makefile中加了编译选项,是不允许强制转换的
现在唯一想到的办法就是用位运算
我大概是这样写的
long s = 123;
int i = 0xffffffff ;
int j = i & s; //这里的s得看机器的大端法还是小端法,必要的时候需要移位

但这样写还是不行 int j = i & s; 还是有问题,因为不允许强制转换。。。 - -!
请问有人能告诉我该怎么办么。。(能否将long的前/后4个字节取出来而不用强制转换)
麻烦大家了

时间: 2024-07-29 00:36:12

c++ 强制转换-64位linux中long和int之间的转换的相关文章

64位WIN7中禁用驱动程序签名强制

计算机硬件越来越白菜价,更多的人为了使用更高的配置,都用上了4G或者8G的内存,可惜32位的系统是无法支持4G以上内存的,大多数的朋友都换上了又炫又新鲜的64位win7系统,而由于64位的win7考虑了系统安全的问题,对于未有认证签名的驱动程序进行了限制安装,但是大多数使用了驱动文件的小程序不可能有数字签名认证的,难道我们就不能顺利的在64位win7上面使用我们之前的驱动程序了? 64位win7禁用驱动程序签名强制 其实想要在64位win7中使用未有签名的驱动程序还是有很多方法的,如上图中,开机

在64位系统中ocx控件调用问题

问题描述 在64位系统中ocx控件调用问题 在64位系统中已注册32位程序的ocx控件,为什么32位程序无法显示ocx控件? 解决方案 和64位没有什么关系,你的程序必须是32bit的才可以调用32bit的控件. 如果你用的是C#,你需要强制将程序集限定为32bit 参考:http://blog.csdn.net/blueboy2000/article/details/4242369 解决方案二: jsp调用ocx控件 解决方案三: 你是不是用的的32bit版本的regsvr32注册. 然后就是

linux-32位windows操作系统下可以装64位Linux虚拟机吗?

问题描述 32位windows操作系统下可以装64位Linux虚拟机吗? 10C 最近在学Hadoop,然后很多教程上都是64位的,但是我的电脑是32位的,那我能装一个64位的Linux虚拟机,然后再在Linux虚拟机里装Hadoop64位的吗??(无论答案是"yes"or ""no "" 答案中如果能说明原由,那便是极好的~~~) 解决方案 100%不行,64位主机才支持64位虚拟机,同时也支持32位虚拟机,反过来不行.(bochs qemu之

Offset2lib 攻击绕过 64 位 Linux 内核防护

安全研究人员Hector Marco发布公布了针对64位Linux内核的ASLR防护的绕过,slide和论文提 供下载,这种攻击被称为offset2lib,ASLR的实现是在Linux内核里,而在GNU/Linux发行版上加载一个应用程序到内存中会先找一个 随机的地址加载第一个共享库,之后加载的共享库紧跟之前加载对象的地址,一个内存地址的泄漏就足够让地址随机化变得无用,甚至GOT(Global Offset Table)的地址泄漏都不是必须的,由于大部分的GNU/Linux发行版(除了像Gent

Offset2lib攻击如何全面绕过64位Linux的内核防护【视频】

前言 地址空间布局随机化(ASLR),在你知道目标代码或数据定位的前提下,它可以变成一种规避攻击的技术.正因为黑客并不知道整个地址空间的布局,ASLR技术变得极为有效.只有当可执行程序编译为PIE时(地址无关可执行文件),才能最大限度地从ASLR技术那里获得保护,因为其所有组成部分都是从随机地址加载的. 然而,当可执行文件被编译成PIE之后,GNU/Linux下的ASLR实现的过程中,会出现一个名为Offset2lib安全漏洞,其专门用于绕过在GNU/Linux下如ASLR之类的对于普通漏洞的常

虚拟机-在linux6.5 64位系统中安装qt5.5.1出现不能编译

问题描述 在linux6.5 64位系统中安装qt5.5.1出现不能编译 1C 我在虚拟机linux6.5 64位系统中安装来qt5.5.1(qt-opensource-linux-x64-5.5.1.run),在安装完之后启动qt进入qt开发页面.自己随意创建一个测试项目,在编译到时候报如下错误:Configuration is faulty. Check the Issues view for details.Error while building/deploying project cs

64位linux hook-如何在64位Linux下Hook,实现跳转到自己定义的钩子函数?

问题描述 如何在64位Linux下Hook,实现跳转到自己定义的钩子函数? 想在64bit的linux上,做Hook. 实现如下功能: 1.由系统函数跳转到自己定义的钩子函数,如何是爱心啊注意:是64bit系统不是32系统. 解决方案 http://zhidao.baidu.com/link?url=4AY8D7d4nyNdlNKp43kvBZ6bPB_6XrWpyELhN55LbzqLuVpMkNBllFoGtqNRmiZ_ZuQpT80aMD_kX56zXIY1La 解决方案二: 在vim上

应用程序自动关闭-iis6 64位系统 中的应用程序池自动关闭

问题描述 iis6 64位系统 中的应用程序池自动关闭 每天都会出现应用程序关闭的问题 Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d69572, faulting module mscorwks.dll, version 2.0.50727.3662, stamp 53ce1c99, debug? 0, fault address 0x00000000006c4a39. 解决方案 查看一下系统的生成的dump等,然

关于在64位solaris中设置64位jdk和tomcat的问题

问题描述 我在64位solaris中安装了64位jdk(先装的32位),并装了tomcat,但是不知道应该怎么设置tomcat所需的jre_home等,因为我发现solaris中64位的jdk只是在32位jdk目录中多了一个sparcv9目录,里边有javajavac等程序,没找着相应的jre目录,请问究竟应该如何设置能够使tomcat调用的是64位的jdk,非常感谢 解决方案 解决方案二:在环境变量中设置exportJAVA_HOME=/....解决方案三:64位的程序都在usr/java/b