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

网站开发后台冯耀宗seo视频教程

网站开发后台,冯耀宗seo视频教程,织梦动漫网站模版,抚州网站网站建设这是群友分享的方法,这里只是作为记录和分享。 有了这个功能,可以很方便的拷贝一下C或者C代码直接用到FB上。 既然是混合C语言编译,当然得有C的代码。比如随便去网上找两个排序:冒泡排序和选择排序,代码如下&#xf…

这是群友分享的方法,这里只是作为记录和分享。

有了这个功能,可以很方便的拷贝一下C或者C++代码直接用到FB上。

既然是混合C语言编译,当然得有C的代码。比如随便去网上找两个排序:冒泡排序和选择排序,代码如下:

1、冒泡排序:(存储为BubbleSort.c)

void BubbleSort(int arr[],int size)
{int j,i,tem;for (i = 0; i < size-1;i ++)//size-1是因为不用与自己比较,所以比的数就少一个{int count = 0;for (j = 0; j < size-1 - i; j++)	//size-1-i是因为每一趟就会少一个数比较{if (arr[j] > arr[j+1])//这是升序排法,前一个数和后一个数比较,如果前数大则与后一个数换位置{tem = arr[j];arr[j] = arr[j+1];arr[j+1] = tem;count = 1;}}if (count == 0)			//如果某一趟没有交换位置,则说明已经排好序,直接退出循环break;	}
}

2、选择排序:(存储为SelectSort.c)

void SelectSort(int arr[],int size)
{int i = 0;for (i = 0; i < size-1; i++){int min = i;int j = 0;for (j = i+1; j < size; j++){if (arr[j] < arr[min]){min = j;}}//交换两个数if(i != min){int temp = arr[i];arr[i] = arr[min];arr[min] = temp;}}
}

3、包含全局变量和头文件引用的C程序(存储为Testfunc.c)

#include <stdio.h>int GlobalVar = 666666;		//全局变量
int PrintVar = 0;void Testfunc(void)			//测试函数
{printf("the global variable is:%d",PrintVar);	//调用printf函数
}

然后就是设置编译方式和声明函数了。

1、需要设置GCC编译器,如果使用GAS编译是不行的。(32位的FB默认使用GAS编译)

如果是使用VFB来编译程序,则需要在内核模块的程序起始块里来设置,这里设置的代码会放到所有代码的最前部,这是我们需要的。用#cmdline来声明命令(主要是比较方便,也可以在IDE里的工程属性里的附加编译选项里设置。)-gen gcc就是指定编译器为GCC编译。

#cmdline "-gen gcc"                    '设置编译器为GCC编译 

2、需要包含前面的C代码文件。需要用-Wc命令来将我们需要的命令传递给GCC编译器,命令间用逗号“,”分隔。用-include 指定你需要包含的C文件,后面是文件名(我是放在编译路径下,VFB的release文件下),这里有BubbleSort.c和SelectSort.c。

#cmdline "-Wc -include,BubbleSort.c"   '包含BubbleSort.c文件给GCC编译
#cmdline "-Wc -include,SelectSort.c"   '包含SelectSort.c文件给GCC编译

3、如果C文件里有使用头文件(或者其他引用的文件),则需要声明头文件的路径,否则会编译失败。我直接拷贝了DevC++目录下的头文件(文件名include)到release里,这样方便寻找。声明如下:

#cmdline "-Wc -include,Testfunc.c,-I..\release\include"            '指定头文件搜索目录

4、FB里对C全局变量声明方式:

全局变量需要用【Extern 变量名 Alias "C里的变量名" as 数据类型】来声明,变量名可以与C的变量名不一样,也可以一样。例如:C里的GlobalVar改成gvar完全没问题。

Extern gvar Alias "GlobalVar" As Long
Extern PrintVar Alias "PrintVar" As Long

5、FB里的C函数的声明:

5.1、使用Extern "C" ... End Extern块来声明函数,同时在其中使用Declare关键字来声明函数。

5.2、一般来说,C里的返回值是void的,FB里使用sub,不是void的,使用function。

5.3、C里的数组在FB里需要声明指针,不能使用FB的数组直接声明(FB的数组是一个类型结构,与C的数组有区别。)

5.4、如果不需要修改函数名,可以直接对应C函数转换。如果需要修改函数名,则需要用Alias来声明(规则与全局变量一样)。代码如下:

Extern "C"
'//冒泡排序
'//C定义 void BubbleSort(int arr[],int size)
Declare Sub BubbleSort(arr As Long Ptr,ByVal nsize As Long)  'c的数组得用指针,不能用FB的数组直接传过去
'//选择排序
'//C定义 void SelectSort(int arr[],int size)
Declare Sub SelectSort(arr As Long Ptr, ByVal nsize As Long) 'c的数组得用指针,不能用FB的数组直接传过去
'--------------------------------------------------------------------
'C定义 void Testfunc(void)
Declare Sub PrintGlobalVar Alias "Testfunc"()                'C里的函数名为Testfunc,如果有需要(比如有冲突)换一个名字,可以用AliasEnd Extern

使用时与FB函数和变量一样,具体例子如下:

FB与C混合编译

http://www.dinnco.com/news/16031.html

相关文章:

  • 500网站建设上海关键词优化公司bwyseo
  • 日本女做受视频网站广州seo网络培训课程
  • 免费的web服务器惠州seo怎么做
  • 张家口网站建设app怎么开发出来的
  • 长春哪家公司做网站好大一html网页制作
  • 图片隐藏在 wordpress高级seo课程
  • 网站开发框架拓扑如何提高关键词搜索排名
  • 免费做链接的网站吗免费推广方法
  • 手机企业网站推广关键词如何优化排名
  • 家居网站建设全网营销东莞网络推广营销
  • 扬州市住房建设局网站优化大师app
  • 优化企业网站排名要多少钱seo发贴软件
  • 受欢迎的徐州网站建设郑州网站建设公司排名
  • 做网站前台开发学习搜索引擎成功案例分析
  • 土巴兔网站开发技术深圳网络推广平台
  • 做网站工资多少央视网新闻
  • 镜像网站做优化高级seo是什么职位
  • 此网站可能有数字营销平台有哪些
  • 怎么做一个链接网站网站seo哪家好
  • 网站建设加盟合作如何让百度搜索到自己的网站
  • 网站开发 适应 手机 电脑宝鸡seo优化
  • flash做的小动画视频网站怎么做推广
  • 网站建设技术公司抖音引流推广一个30元
  • 个人空间网站百度客服人工在线咨询电话
  • wordpress功能详解视频教程汕头seo排名收费
  • 做黄色网站需要备案吗网络推广营销方案免费
  • 网站建设费税率多少钱seo技术学院
  • 南宁太阳能网站建设西安百度关键词优化
  • 网站建设好还是阿里巴巴好制作网站的公司有哪些
  • 中国银行建设网站abb百度怎么发广告