aardio官方社区

 找回密码
 注册会员

!connect_header_login!

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 编程

调用C语言写个DLL,几句代码搞定

  [复制链接]

1

主题

8

帖子

92

积分

一级会员

Rank: 2

积分
92
发表于 2015-5-14 18:09:27 | 显示全部楼层

首先感谢老大分享! VC++代码倒数第6行console.log( testObject.getName(25,25) ),这里的testObject.ge

首先感谢老大分享!
VC++代码倒数第6行console.log( testObject.getName(25,25)  ),这里的testObject.getName(25,25)看不懂,getName(25,25)怎么转换到"void(string &buffe,int len)"?25能自动转换成string &buffe吗,这个25随便写吗,比如0,还是要和后面的25对应?

回复

使用道具 举报

0

主题

1

帖子

7

积分

新手入门

Rank: 1

积分
7
发表于 2016-1-5 09:33:19 | 显示全部楼层

真是好东西,多谢

真是好东西,多谢
回复

使用道具 举报

0

主题

1

帖子

9

积分

新手入门

Rank: 1

积分
9
发表于 2016-1-20 23:59:45 | 显示全部楼层

aardio如何调用Delphi写的.dll文件呢?

aardio如何调用Delphi写的.dll文件呢?
回复

使用道具 举报

0

主题

4

帖子

47

积分

培训班

积分
47
发表于 2016-4-20 13:06:06 | 显示全部楼层

666,真是强大!{:3_46:}

666,真是强大!
回复

使用道具 举报

0

主题

9

帖子

48

积分

新手入门

Rank: 1

积分
48
发表于 2016-4-29 22:18:28 | 显示全部楼层

顶一下

顶一下
回复

使用道具 举报

2

主题

8

帖子

67

积分

一级会员

Rank: 2

积分
67
发表于 2016-7-11 11:01:55 | 显示全部楼层

aardio真是打通任督二脉的神器{:2_26:}

aardio真是打通任督二脉的神器
回复

使用道具 举报

2

主题

22

帖子

126

积分

一级会员

Rank: 2

积分
126
发表于 2016-8-9 15:19:02 | 显示全部楼层

我从网上搜来了一个拉格朗日插值函数,数学计算用,请问如何在aardio中调用? 拉格朗日插值函数代码如下: [code][lang=c,false]#inc

我从网上搜来了一个拉格朗日插值函数,数学计算用,请问如何在aardio中调用?
拉格朗日插值函数代码如下:
  1. #include<stdlib.h>
  2. #include<iostream>

  3. using namespace std;

  4. typedef strUCt data
  5. {
  6.         float x;
  7.         float y;
  8. }Data;//变量x和函数值y的结构
  9. Data d[20];//最多二十组数据
  10. float f(int s,int t)//牛顿插值法,用以返回插商
  11. {
  12.         if(t==s+1)
  13.                 return (d[t].y-d[s].y)/(d[t].x-d[s].x);
  14.         else
  15.                 return (f(s+1,t)-f(s,t-1))/(d[t].x-d[s].x);  
  16. }
  17. float Newton(float x,int count)
  18. {
  19.         int n;
  20.         while(1)
  21.         {
  22.                 cout<<"请输入n值(即n次插值):";//获得插值次数
  23.                 cin>>n;
  24.                 if(n<=count-1)// 插值次数不得大于count-次
  25.                         break;
  26.                 else
  27.                         system("cls");
  28.         }
  29.         //初始化t,y,yt。
  30.         float t=1.0;
  31.         float y=d[0].y;
  32.         float yt=0.0;
  33.         //计算y值
  34.         for(int j=1;j<=n;j++)
  35.         {
  36.                 t=(x-d[j-1].x)*t;
  37.                 yt=f(0,j)*t;
  38.                 //cout<<f(0,j)<<endl;
  39.                 y=y+yt;
  40.         }
  41.         return y;
  42. }
  43. float lagrange(float x,int count)
  44. {
  45.         float y=0.0;
  46.         for(int k=0;k<count;k++)//这儿默认为count-次插值
  47.         {
  48.                 float p=1.0;//初始化p
  49.                 for(int j=0;j<count;j++)
  50.                 {//计算p的值
  51.                         if(k==j)continue;//判断是否为同一个数
  52.                         p=p*(x-d[j].x)/(d[k].x-d[j].x);
  53.                 }
  54.                 y=y+p*d[k].y;//求和
  55.         }
  56.         return y;//返回y的值
  57. }
  58. void main()
  59. {
  60.         float x,y;
  61.         int count;
  62.         while(1)
  63.         {
  64.                 cout<<"请输入x[i],y[i]的组数,不得超过组:";//要求用户输入数据组数
  65.                 cin>>count;
  66.                 if(count<=20)
  67.                         break;//检查输入的是否合法
  68.                 system("cls");
  69.         }
  70.         //获得各组数据
  71.         for(int i=0;i<count;i++)
  72.         {
  73.                 cout<<"请输入第"<<i+1<<"组x的值:";
  74.                 cin>>d[i].x;
  75.                 cout<<"请输入第"<<i+1<<"组y的值:";
  76.                 cin>>d[i].y;
  77.                 system("cls");
  78.         }
  79.         cout<<"请输入x的值:";//获得变量x的值
  80.         cin>>x;
  81.         while(1)
  82.         {
  83.                 int choice=3;
  84.                 cout<<"请您选择使用哪种插值法计算:"<<endl;
  85.                 cout<<"              (0):退出"<<endl;
  86.                 cout<<"              (1):Lagrange"<<endl;
  87.                 cout<<"              (2):Newton"<<endl;
  88.                 cout<<"输入你的选择:";
  89.                 cin>>choice;//取得用户的选择项
  90.                 if(choice==2)
  91.                 {
  92.                         cout<<"你选择了牛顿插值计算方法,其结果为:";
  93.                         y=Newton(x,count);break;//调用相应的处理函数
  94.                 }
  95.                 if(choice==1)
  96.                 {
  97.                         cout<<"你选择了拉格朗日插值计算方法,其结果为:";
  98.                         y=lagrange(x,count);break;//调用相应的处理函数
  99.                 }
  100.                 if(choice==0)
  101.                         break;
  102.                 system("cls");
  103.                 cout<<"输入错误!!!!"<<endl;
  104.         }
  105.         cout<<x<<"    ,        "<<y<<endl;//输出最终结果

  106. }
复制代码
回复

使用道具 举报

2

主题

22

帖子

126

积分

一级会员

Rank: 2

积分
126
发表于 2016-8-10 08:58:30 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=71956&ptid=8969][co

hahaxiong 发表于 2016-8-9 15:19
我从网上搜来了一个拉格朗日插值函数,数学计算用,请问如何在aardio中调用?
拉格朗日插值函数代码如下: ...

刚在论坛中搜到一个旧贴,好好学习一下。
aardio0.60发布,支持直接执行C语言代码(TCC扩展库)
回复

使用道具 举报

2

主题

22

帖子

126

积分

一级会员

Rank: 2

积分
126
发表于 2016-9-19 11:50:20 | 显示全部楼层
标记一下,最近在想:直接用C语言,还是转为aardio再用?
回复

使用道具 举报

0

主题

1

帖子

10

积分

新手入门

Rank: 1

积分
10
发表于 2016-10-9 13:38:28 | 显示全部楼层
pw33 发表于 2015-5-14 18:09
首先感谢老大分享!
VC++代码倒数第6行console.log( testObject.getName(25,25)  ),这里的testObject.get ...

同样没看明白
回复

使用道具 举报

1

主题

10

帖子

78

积分

一级会员

Rank: 2

积分
78
发表于 2016-12-5 16:31:21 | 显示全部楼层
实用的帖子,收藏了,谢谢!
回复

使用道具 举报

1

主题

10

帖子

78

积分

一级会员

Rank: 2

积分
78
发表于 2016-12-5 21:34:10 | 显示全部楼层
很有启发,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2021-9-27 20:35 , Processed in 0.075566 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表