打印

推荐aardio 编程语言 上位机开发优选之一;

[复制链接]
1670|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crazybee|  楼主 | 2021-7-4 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
crazybee|  楼主 | 2021-7-9 12:21 | 只看该作者
//aardio调用C语言函数
var code = /****
        #include <stdio.h>
        #include <stdlib.h>

        //C99 __VA_ARGS__
        #define dprintf(level, __VA_ARGS__) printf(__VA_ARGS__)
       
        int helloW (const wchar_t *msg)  
        {   
                   io_reopen(); //打开控制台窗口
                  
                   int n = 10;//变量声明可以放函数中间
                   long long ln = 100;//64位整数(也就是aardio中的long),C99
                   char s[n]; //变长数组,C99 VLA  
                  
                   //C99标准引入了Designated Initializers特性使得数组、结构体和联合体的初始化更加灵活和方便。
                   struct { int x, y; } st[10] = { [0].x = 1, [0].y = 2 };
            int tab[10] = { 1, 2, [5] = 5, [9] = 9};
           
            //C99 compound literal
            int *p = (int []){ 1, 2, 3 };

                //GCC 数组初始化
                struct { int x, y; } st2 = { x: 1, y: 1};
                struct { int x, y; } st3 = { .x = 1, .y = 1};
               
                //GCC case ranges
                int a = 2;
                switch(a) {
                    case 1 ... 9:
                          printf("range 1 to 9\n");
                          break;
                    default:
                          printf("unexpected\n");
                          break;
            }

                //GCC __attribute__语句
                int a2 __attribute__ ( ( aligned(8) ) );
               
                return 0;
        }

****/
import win;
import console;
import tcc;  

var vm = tcc(); //创建TCC编译器

vm.compile(code); //编译UTF8编码的C源码,必须使用最新版TCC扩展库

//调用C函数
var ret = vm.helloW('测试一下'u);
console.log( "C函数返回值", ret )

console.pause();

混合编程。

使用特权

评论回复
板凳
gaoyang9992006| | 2021-7-29 19:51 | 只看该作者
用过一段,挺好的。国产中的佼佼者。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

149

主题

800

帖子

5

粉丝