开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 16937|回复: 332
收起左侧

[易语言纯源码] c++仿易语言跨平台中文命令库,用易写cpp

    [复制链接]
结帖率:100% (1/1)
发表于 2023-1-5 09:29:36 | 显示全部楼层 |阅读模式   山东省枣庄市
分享源码
界面截图: -
是否带模块: -
备注说明: -
本帖最后由 阿龙 于 2023-1-5 09:35 编辑

两个目的
1.帮助易友入门.
2.对于易写易库的众多支持库,没有c++基础的水友也能使用此库进行支持库重构。


对于易语言初学c++的朋友帮助应该会很大,足够使用到你了解常用的stl和c++11的基本语法。
对于c++大佬,希望能参与帮忙优化代码。


纯易写法:
[C++] 纯文本查看 复制代码
int main() {
        数组<整数型> 整数数组;
        置随机数种子();
        计次循环首(100, i) {
                加入成员(整数数组, 取随机数(1, 10));
        }
        字节集 字节集数据 = { 0,4,7,1,5 };
        文本型 文本型变量 = L"unicode字符";
        调试输出(整数数组, 字节集数据 + 到字节集(文本型变量));

}


部分测试:
[C++] 纯文本查看 复制代码
int main() {
        数组<整数型> fruits = { 2,71, 45,11,32, 674,88, 5465,946 ,8676 };
        数组排序(fruits);
       整数型 index = 二分查找(fruits, 8676);
        如果(index != -1) {
                 标准输出(0,"Found cherry at index ");
        }
        否则 {
                标准输出(0,"Cherry not found" );
        }
        返回 (0);
}


寻找文本速度对比:(这个寻找文本速度能拉开易语言300多倍,算法我尝试了很多,最后还是发现stl的KMP更快。)
[C++] 纯文本查看 复制代码
int main() {
        std::string S = "sadbutsdsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsadstsdsadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsasadsatsdsadsatsdsadsatsdsadsatsdsadsaafsafwaewadsaadt = formatted_text.find(f", N = "tsdsadsatsdsadsatsdsadsaafsafwaewadsaadt = formatted_text.find(f";
        intptr_t  A, B, ret = 0;
        size_t i;
        A = GetTickCount();
        for (i = 0; i < 9999999; i++)
        {
                ret = 寻找文本(S, N, 0, false);
        }
        B = GetTickCount();
        标准输出(0, "速度:" + std::to_string(B - A) + "位置:" + to_string(ret) + " " + std::to_string(i));
}




零基础应该也可以无缝使用(前提你不能太傻)


代码里并没有定义任何数据类型,全部来自标准库,并且代码解耦程度极高,没有任何标准库或平台库以外的外部依赖,也就是说你其中的任何一个代码你都可以抠出来直接使用。
每个函数或者类是一个单独的cpp,静态库的情况下编译出来的代码仅会链接到你所使用的代码。
Lib是windows动态链接库, Static_Lib是静态库。

此代码是从我去年4月写的e2cpp核心库项目扣的,因为原始只考虑了win平台,所以目前还有很多代码并没有添加进去,主要原因是无法使其进行跨平台,还有一小部分是套用了开源项目,依赖度比较高,不打算再添加进去例如sqlite3的包装。
部分未移植:
未移植.png 未移植2.png




项目开源仓库:https://github.com/AlongsCode/LibKrnln/

刚阳前两天和死了一样昨天打了一针好多了。准备出门打针,有问题留言,看到了再回复。

点评

支持开源!支持楼主!   河南省郑州市  发表于 2023-1-10 22:17
祝阿龙大佬 早日康复   河北省秦皇岛市  发表于 2023-1-6 15:05
把int main() 改成 整数型 _启动子程序()   浙江省台州市  发表于 2023-1-6 14:16
支持开源!支持楼主!   重庆市重庆市  发表于 2023-1-5 11:46

评分

参与人数 29好评 +21 精币 +45 收起 理由
l7518597 + 1 + 3 能和elibstl一起同步更新吗 elibstl更新蛮快
落雪无尘 + 1 + 1 这可太牛逼了
cayter + 1 + 2 支持开源~!感谢分享
dghjgg + 1 支持开源~!感谢分享
飘在空气里 + 1 感谢发布原创作品,精易因你更精彩!
夜的静night + 1 + 2 支持开源~!感谢分享
wiyxwd + 1 感谢分享,很给力!~
1051496412 + 1 + 2 感谢分享,很给力!~
Arui + 1 感谢分享,很给力!~
机智蛋 + 1 + 2 人才啊,YYDS~
734108950 + 1 + 2 YYDS~!
默念、 + 1 + 1 支持开源~!感谢分享
恶魔天尊 + 1 开源精神必须支持~
kyo9766 + 2 感谢分享,很给力!~
zijingsh + 1 + 2 大神,请收下我的膝盖
悟桐的深思 + 1 感谢分享,很给力!~
微风已过 + 1 感谢分享,很给力!~
mumulu + 1 感谢分享,很给力!~
qiyuer + 1 感谢分享,很给力!~
无尘666 + 1 感谢分享,很给力!~
远赴 + 1 + 2 新技能已get√
inat + 1 + 2 感谢分享,很给力!~
猪滴寳貝哝 + 1 + 2 YYDS~!
315215 + 1 + 2 支持开源~!感谢分享
a524666979 + 1 + 2 支持开源~!感谢分享
JerryYan + 1 + 2 这波是真有机会把易移植到C++直接支持64了
冰点 + 1 + 3 感谢分享,很给力!~
Delude + 1 + 2 此处应该有鼓励~
熊猫巴布 + 1 + 2 YYDS~!

查看全部评分


本帖被以下淘专辑推荐:

结帖率:0% (0/1)

签到天数: 1 天

发表于 4 天前 | 显示全部楼层   福建省漳州市
make,cpp文件怎么不放一起啊
回复 支持 反对

使用道具 举报

结帖率:78% (7/9)

签到天数: 25 天

发表于 2024-3-25 08:11:07 | 显示全部楼层   福建省泉州市
这个可以
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 27 天

发表于 2024-3-25 08:03:03 | 显示全部楼层   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:84% (32/38)

签到天数: 6 天

发表于 2023-10-25 21:45:16 | 显示全部楼层   湖北省荆州市
        支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 26 天

发表于 2023-7-21 09:28:59 | 显示全部楼层   江苏省苏州市
阿龙 发表于 2023-3-13 10:46
够用的了,又不会一辈子用中文库

真希望用一辈子!用母语阅读更省脑子
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)

签到天数: 7 天

发表于 2023-6-6 22:09:18 | 显示全部楼层   河北省石家庄市
不会用这个网站
回复 支持 反对

使用道具 举报

发表于 2023-6-5 15:17:57 | 显示全部楼层   江苏省苏州市
谢谢!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 27 天

 楼主| 发表于 2023-4-14 23:07:39 | 显示全部楼层   山东省枣庄市

有时更新吧,你直接github看合并记录就好,新建了个windows的分支,毕竟常用,一些窗口命令加到windows分支里了
回复 支持 1 反对 0

使用道具 举报

结帖率:88% (7/8)

签到天数: 7 天

发表于 2023-4-14 21:05:06 高大上手机用户 | 显示全部楼层   河北省石家庄市
有更新吗

点评

有时更新吧,你直接github看合并记录就好,新建了个windows的分支,毕竟常用,一些窗口命令加到windows分支里了   山东省枣庄市  详情 回复 发表于 2023-4-14 23:07
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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