大家都见过哪些让你虎躯一震的代码?
这是一个99乘法表的C语言代码:
#include "PainterEngine.h"
#include <stdio.h>
px_int main()
{
PainterEngine_Initialize(800, 480);
PainterEngine_SetBackgroundColor(PX_COLOR_BLACK);
for (px_int i = 1; i <= 9; i++)
{
char line[128] = {0};
for (px_int j = 1; j <= i; j++)
{
char content[16];
sprintf(content, "%d*%d=%d ",j, i, i * j);
strcat(line, content);
}
PainterEngine_Print(line);
}
return 0;
}
运行结果是这样的:
你可能开始笑了,这不特么有手就行.
但如果我把图截全一点,你会发现这玩意居然是跑在浏览器上:
你可能又在想,是不是我用了WebAssembly或者cgi亦或者是webui当前这个很火的开源库,
但其实没有,我整个开发环境其实是visual studio,如果你愿意它也可以是mingw或者是gcc
为了证明这一点,我们不用99乘法表了,我们试试群u最新的猫猫表情包
#include "PainterEngine.h"
px_gif gif;
px_int main()
{
PX_Object* pImage;
PainterEngine_Initialize(300, 300);
PX_LoadGifFromFile(mp_static, &gif, "C:\\working\\test.gif");
pImage = PX_Object_ImageCreate(mp, root, 0, 0, 300, 300, 0);
PX_Object_ImageSetGif(pImage, &gif);
return PX_TRUE;
}
可以看到它能够像native程序一样拥有本地文件的访问权限,并且如果这个界面有按钮,并且也不需要你像webui哪有额外的去做一些库与交互代码,当然如果你需要交互也是绝对没有问题的
甚至,你可以在visual studio上,用C语言调试这个在网页上的执行的程序,比如我下面这个点击按钮命中断点,这个web程序具有和本地native程序同等的执行效率.并且没有html,wasm之类的文件落地,甚至不需要你用nginx搭个http server,程序执行后,直接访问127.0.0.1:12345就可以获得其web端执行结果了
甚至它还支持多端同时访问(但只有一端具有操作权限,如果无操作7秒后,权限会开放给其它端),所以你想用这个做个多人协作的"你画我猜",或者"多人台球游戏"就像在写本地端一样简单
你只需要把编译好的程序,丢在某个公网服务器上运行,那么你的用户就可以直接通过浏览器使用你这个程序.甚至不需要你去配别的环境.它甚至可以集成在各种乱七八糟的小程序平台里.而拥有上面的所有功能,仅仅只需要这个400kb的程序
是不是超赞,是不是超方便.
怎么办到的我卖个关子,github代码已开源,大家自己看吧
https://github.com/matrixcascade/PainterEngine/tree/master/platform/visualos