- 博客(29)
- 资源 (1)
- 收藏
- 关注

原创 用最简单的方法制作各种程序界面
窗口界面接口ycwin.cppycwin.cpp提供了创建窗口界面的接口,它有3种运行方式:独立运行。被C/C++程序调用。被Javascript程序调用。其源码如下:……struct ycwinCLASS{ YHTML *phtml; //当前显示的HTML对象 YHTML *oldhtml; ...
2020-03-20 13:29:02
2278
1

原创 Javascript用YC_cppLoad()函数以对象的方式调用C/C++源码
以这种方式调用c/c++源码,c/c++文件须满足一定的格式,提供指定的数据结构。 下面的bird.cpp就是一个满足这种格式的c/c++文件。#include "yc.h"char m_title[256] = "no value 无初始值";int fibonacci(int kk) //计算fibonacci数列的函数{ if(kk < 2) re...
2020-03-20 12:51:03
298

原创 几个特殊的Javascript内置函数的使用方法
1. Javascript用YC_readfile()函数读入网页文本var argv = YC_arg() //获取命令行参数let page = YC_readfile(argv.length>=2 ? argv[1] : "http://www.ha123.com")printf(page) //控制台显示文本 pagealert(pag...
2020-03-20 12:29:01
378

原创 Javascript代码用YC_jsRun()函数执行Javascript文件
在c/c++中也有个YC_jsRun()函数,它们都是执行Javascript代码的函数,但执行环境不同,参数和返回值也不同。var t1 = new Date();document.write(t1.valueOf()); document.write("<br>\n");document.write(t1); document.write("<br>...
2020-03-20 11:27:13
1044

原创 将Javascript代码转换为汇编
将Javascript代码转换为汇编function print_str(astr){ let pstr = "劝君更尽一杯酒\n西出阳关无故人\n"; document.write(astr + pstr);}print_str("渭城朝雨浥轻尘\n客舍青青柳色新\n") Javascript代码文件:just.js编译...
2020-03-20 11:06:09
2241

原创 HTML网页解析函数
网页调入函数该函数只调用ychtml.cpp的ychtmlCLASS::htmlLoad()函数。YHTML *YC_htmlLoad( const char *htmfile=0, //文件名或网址,如yc.htm、http://www.ycbro.com YPOST *pPost=0, //POST数据指针 void *hwnd=0, ...
2020-03-20 08:15:28
910

原创 调用源代码函数YC_cppLoad()、YC_cppFree()
编译并驻留函数YC_cppLoad()、YC_cppFree() 该函数编译c/c++源代码,编译结果驻留内存,对外提供源代码函数接口。它与语法pObj = <file.cpp> 具有相同的功能。void *YC_cppLoad( const char *srcbuf, //源代码文件名或源代码缓冲区 int srclen, ...
2020-03-19 18:13:28
334

原创 如何调用函数YC_cppCompile()编译C/C++源代码
独创函数YC_cppCompile()该函数将c/c++源代码编译转换为执行代码。int YC_cppCompile( char **pExebuf=NULL, //执行代码缓冲区地址指针 const char *srcbuf=NULL, //源代码文件名或源代码缓冲区 int srclen=0, //源代码长度(用于源代...
2020-03-19 17:16:05
542

原创 如何实现直接执行源代码
执行函数YC_cppRun()该函数可直接执行c/c++和Javascript源代码。int YC_cppRun(const char *srcbuf, //文件名或代码地址int srclen=0, //0或代码长度int argc=0, //传给源代码主函数main()的第一个形式参数void *argv=NULL //传给源代码主函数m...
2020-03-19 14:54:18
2501

原创 实时编译、动态执行C/C++源码函数
获得c/c++源码函数接口地址的语法 语法格式:fileCLASS *pObj = <file.cpp>该语法获得源代码file.cpp的函数接口对象指针pObj,通过pObj调用file.cpp的函数。参数: file.cpp: c/c++源代码文件名。返回值:fileCLASS *pObj: 接口对象地址。1. 编写c/c+...
2020-03-17 16:39:11
2709

原创 YC编译器(持续更新中)
数十年来,每个月都有一个程序语言排行榜,按照使用人数百分比顺序地排列前100种语言的流行度。可见要开发一个软件,编程语言的选择是很多的。 每种程序语言至少有一个编译器或解释器,有的甚至有多种。如C/C++编译器就有vc、gcc、clang等。关于语言优劣的争论一直都存在,从排行榜看,没有哪种语言的使用率过半。我学的是电子专业,早年曾从事电路设计,但编写的程序代码超过了30万行...
2020-03-05 16:39:58
2152
6
原创 YC++编译器最新版主要功能及特点简介, 请广大的编程爱好者试用,并且希望能提出更多宝贵意见,使此软件更加完善。谢谢!
1、编译C/C++代码,接近符合100%的C11标准,符合95%左右的C++20标准。2、编译JavaScript代码,并以jit方式执行。3、能解析HTML,CSS,SVG等。4、可将C/C++代码嵌入到HTML中执行。5、C/C++和JavaScript相互调用。6、独创的模块化语法,如YCCROSS= ;7、独创的目标代码(obj文件)生成和模块链接语法(不再需要Makefile)。 如:#include obj
2022-12-05 21:49:25
1008
原创 操作系统的完整代码——编写YCOS应用程序
1. 计算圆周率源代码pi2.cpp#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp" //提供前缀为ycio_的函数和C/C++标准函数char *calc_pi(){ int b_time = clock(); #define PI_LEN 40 * 7 *...
2020-03-24 15:51:31
806
原创 操作系统的完整代码——YCOS驱动程序
YCOS驱动程序 YCOS是微内核的,它的大部分功能可以由外部驱动程序提供,只有少数几个功能由内核文件ycker.cpp提供。 下面介绍如何编写、安装、调用驱动程序。1. 设计驱动程序#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp" //提供前缀为ycio_的函数和C/...
2020-03-24 15:44:54
726
原创 操作系统的完整代码——库函数代码ycio.cpp
库函数代码ycio.cpp#define YCNOH //该设置使编译器不调入默认的头文件#include "ycos.h"typedef char *va_list;#define _ADDRESSOF(v) ( &reinterpret_cast<const char &>(v) )#define _INTSIZEOF(n) ...
2020-03-21 14:55:29
641
原创 操作系统的完整代码——命令处理代码ycshell.cpp
命令处理代码ycshell.cpp#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp" //提供前缀为ycio_的函数和C/C++标准函数ycfsCLASS *YCFS; //文件管理接口指针ycmmCLASS *YCMM; //内存管理接口指针ycttyCLASS *YCT...
2020-03-21 14:51:45
870
原创 操作系统的完整代码——显示和键盘管理代码yctty.cpp
#define YCORG -1#include "ycio.cpp"ycttyCLASS YCTTY; //函数接口对象void main(void **pObj){ *pObj = &YCTTY; //把函数接口对象地址传给调用者}int SCRwide = 80; //屏幕宽度int g_curp...
2020-03-21 14:48:51
470
原创 操作系统的完整代码——内存管理代码ycmm.cpp
#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp"#define PgTail(pLink) (((unsigned)pLink + pLink->size + PAGE_SIZE-1) & PAGE_MASK)ycmmCLASS YCMM;YMEM *phyHead,*maxHe...
2020-03-21 12:35:38
1008
原创 操作系统的完整代码——文件管理代码ycfs.cpp
#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp"ycfsCLASS YCFS;void main(void **pObj){ for(int ii=0; ii<sizeof fd/sizeof fd[0]; ii++) ...
2020-03-21 12:30:51
965
原创 操作系统的完整代码——内核代码ycker.cpp
#define YCORG -1 //该设置使编译器生成头部为YCEXE结构的可执行文件#include "ycio.cpp" //提供前缀为ycio_的函数和C/C++标准函数ycfsCLASS *YCFS; //文件管理接口ycttyCLASS *YCTTY; //显示和键盘接口ycmmCLASS *YCMM; ...
2020-03-21 12:24:06
1150
原创 操作系统的完整代码——初始化代码ychead.cpp
#define YCORG 0x90000 - 0x2000#include "ycio.cpp"static_assert(YCORG == DATA_POS - ychead_SIZE, "YCORG Error!");char kernel_stack[1024 * 2];asm void main(){ mov ax, KERNEL_DS ...
2020-03-21 12:06:31
385
原创 操作系统的完整代码——引导代码ycboot.cpp
引导代码ycboot.cpp#define YCORG 0#define YCBIT 16#include "ycos.h"asm void print();asm void read_sector();#define setup_POS (ycboot_SIZE - 512)asm void main(){ xor ax,ax //加...
2020-03-21 11:56:52
1020
原创 操作系统的完整代码——镜像构建代码ycos.cpp
为了介绍如何用YC编译器开发操作系统,作者设计并实现了一个简单的操作系统:YCOS。下面对YCOS源码进行详细分析和解释。1. YCOS镜像构建代码ycos.cpp#include "ycos.h"#define L(_String) L ## _String#define yc_assert(EP) ((EP)?((void)(_wassert(L###EP,L(__FILE__...
2020-03-21 11:47:05
1136
原创 如何编写一个功能完善的HTTP服务器
YC服务器是可扩展的HTTP服务器,它的源码文件是ychttp.cpp。 使用YSP语言生成的网页或数据可以通过YC服务器传给浏览器及各种客户终端。下面是该服务器的源码。……typedef void (*serverCall)(int userSock,const char *headBuf);struct ychttpCLASS //ychttp.cpp对外接口{...
2020-03-20 18:29:39
580
原创 Javascript直接执行C/C++代码
1. Javascript代码用标签[%…%]嵌入执行C/C++源码[%//用[% % ]标签在Javascript代码中嵌入执行c/c++源码#include "yc.h"YHTML *phtml;void main(YHTML *phtml){ ::phtml = phtml; //保存网页指针}char *getwindir(wchar_t *pstr,wcha...
2020-03-20 18:08:52
4397
原创 一种设计软件界面的万能HTML标签
HTML的扩展标签为了方便设计千变万化的程序界面和功能,作者设计了一个新的HTML标签:<user id=myname src=myfile.cpp>这个标签叫做user标签,它的功能完全由用户的c/c++代码文件决定。其中,属性id是用于识别user标签的名字,属性src是实现user标签功能的c/c++文件。1. 一个使用标签的HTML文件:good.htm<u...
2020-03-20 17:11:43
583
原创 调用ycwin.cpp接口的YC编辑器源码yc.js
YC_window() //设置主函数为 WinMain()pwin = YC_cppLoad("ycwin.cpp") //调入界面接口if(pwin.exist()) throw 0 //若程序已经运行则退出frame = pwin.createWindow("yc.htm",true,true,true)...
2020-03-20 16:56:53
771
原创 调用ycwin.cpp接口的YC服务器源码ycs.js
YC_window("water.jpg") //设置主函数为 WinMain(),图象water.jpg为程序图标pwin = YC_cppLoad("ycwin.cpp") //创建界面接口ycwin.cpp的对象pwinframe = pwin.createWindow("ycs.htm") //创建窗口对象,窗口由ycs.htm页面管理frame.loop(...
2020-03-20 16:48:27
719
YC++编译器--多语言程序设计
2020-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人