wind river

判断一个数是否为2的n次幂,最直接的方法:

   x&(x-1)==0,

 

给指定地址赋值

   char* p = (int*)0x100000; *p='a'

 

C语言如何跳转到指定的内存地址运行

1.把那个要跳的地址转换成一个函数指针,然后调用这个函数指针.
2.直接用goto

C嵌入汇编更容易实现
#include <stdio.h>

void Print()
{
printf("HelloWorld!/n");
}

int main()
{
_asm
{
  lea eax, Print
  call eax
}
printf("Main/n");
return 0;
}



#include <stdio.h>

void Print()
{
printf("HelloWorld!/n");
}

int main()
{
_asm
{
  lea eax, RetAddr
  push eax
  jmp Print
RetAddr://call执行完之后返回到这里
}
printf("Main/n");
return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值