当前位置: 首页 > news >正文

定制网站开发seo怎么快速提高排名

定制网站开发,seo怎么快速提高排名,怎样给网站做,京东网站建设项目需求分析报告week03 一、main参数传递二、反汇编三、汇编混合编程 一、main参数传递 参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和” 注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12,可以调用atoi…

week03

  • 一、main参数传递
  • 二、反汇编
  • 三、汇编混合编程

一、main参数传递

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA
在Linux下完成“求命令行传入整数参数的和”

注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12,可以调用atoi()

求和函数 int sum(int N)放入sum.c中, main中调用sum(),main放入main.c中

测试代码传入自己的8位学号

提交代码

附件提交运行测试截图

// main.c:#include<stdio.h>
#include<stdlib.h>               
int sum(int N,int arr[]);        
int main(int argc,char *argv[])  
{int result;                     int ch[argc];for (int i=0;i<argc;i++){ch[i]=atoi(argv[i]);         result=sum(argc,ch);             }printf("the sum result is  %d\n",result);return 0;
}
//sum.c:int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){a+=arr[i];}return a;
}

创建两个文件
在这里插入图片描述
一起编译,然后运行

gcc main.c sum.c -o 20232831./20232831 2 0 2 3 2 8 3 1 #即计算2 0 2 3 2 8 3 1 的和,需要用空格分开

在这里插入图片描述

二、反汇编

编辑、编译、运行附图中代码
上方提交代码
附件提交运行结果截图
在这里插入图片描述
代码如下:

#include<stdio.h>
int main(void)
{int input,output,temp;input=1;__asm__ __volatile__ ("movl $0,%%eax;\n\t""movl %%eax,%1;\n\t""movl %2,%%eax;\n\t""movl %%eax,%0;\n\t":"=m"(output),"=m"(temp):"r"(input):"eax");printf("%d %d\n",temp,output);return 0;
}

在这里插入图片描述

三、汇编混合编程

用objdum -d sum.o反汇编sum.o, 在main.c中通过汇编调用sum

上方提交C混合汇编代码

附件提交编译运行结果

sum.c和main.c代码如下:

//sum.c:
int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){a+=arr[i];}return a;
}
//main.c:
#include<stdio.h>
#include<stdlib.h>               
int sum(int N,int arr[]);        
int main(int argc,char *argv[])  
{int result;                     int ch[argc];for (int i=0;i<argc;i++){ch[i]=atoi(argv[i]);         result=sum(argc,ch);             }printf("the sum result is  %d\n",result);return 0;
}

过程如下:

先生成sum.o

gcc -c sum.c -o sum.o

在这里插入图片描述

对sum.c的反编译代码如下:

objdump -d sum.o

在这里插入图片描述
根据反汇编的代码对sum.c进行修改,修改如下:

#include<stdio.h>
int sum (int N,int arr[])
{int a=0;for(int i=0;i<N;i++){__asm__ __volatile__ ("mov $0x0,%%rax;\n\t"  "mov %%rax,%%rbx;\n\t" "start_loop:\tsub $0x1,%%rcx;\n\t"   "cmp $0x0,%%rcx;\n\t"    "jl loop_exit;\n\t"  "mov (%%rsi,%%rcx,4),%%rbx;\n\t"  "add %%rbx,%%rax;\n\t"   "jmp start_loop;\n\t"  "loop_exit:":"=a"(a):"b"(arr),"c"(N):"memory");}return a;
}

对sum.c修改后,再次编译运行,结果如下:
在这里插入图片描述
完成汇编混合编程!

http://www.sczhlp.com/news/34853/

相关文章:

  • 营销网站建设的原则百度竞价培训
  • 网站内容优化方法有哪些内容免费推广网站平台
  • wordpress xiu 5.5信阳搜索引擎优化
  • 注册企业查询汨罗网站seo
  • 正定县建设局 网站西安疫情最新情况
  • 武汉 外贸网站建设公司网站营销策划公司
  • 东莞网站快速排名提升软文营销经典案例
  • 20250824 之所思 - 人生如梦
  • 深圳网络科技有限公司排名重庆seo推广服务
  • 网站建设合作合同模板下载百度推广售后电话
  • 网站正能量免费下载教你如何快速建站
  • 做网站用boot免费推广平台排行
  • 互联网+创新创业百度seo优化方案
  • 朝阳做网站公司百度官方下载
  • 网站留言怎么做网络营销与策划试题及答案
  • 网站建设时间怎么查湖南网站营销推广
  • 哪些是asp网站广告策划案优秀案例
  • 360的网站怎么做网络营销的有哪些特点
  • 上海网站建设多少钱昆明seo案例
  • 8.24模拟赛糊糊题解
  • 做题整理
  • 电机控制笔记:BLDC控制原理
  • 我的译作
  • int a=3, b; b=a+3; { int c=2; a*=c+1; } printf(%d\n, a);
  • 关于集团网站建设的修改请示品牌营销案例
  • 淮安做网站.哪家网络公司好搜索引擎营销总结
  • 小型的做网站公司从哪里接的项目网络推广课程培训
  • 可以做音乐mv视频网站爱链
  • Automa-浏览器自动化工具
  • 漏洞赏金猎人的GitLab安全实战分享