快要过去的一个学期里,学了编译原理,课程大作业写简易C编译器。
能实现加减乘除四则运算,取模赋值运算,逻辑表达式运算,复合语句,if,while,for语句~支持输入输出,最终生成汇编语言代码。
移位运算没写。
调试过了,如有好建议请大家赐教。
1
FXdiv仅标头库,用于通过定点乘以逆除法在现代CPU和GPU上,整数除法比乘法要慢几倍。
FXdiv实现了一种算法,用乘法和两次移位替换整数除法。
当应用程序执行相同除数的重复除法时,此算法可提高性能。
产品特点uint32_t,uint64_t和size_t整数除法仅标头的库,无需安装或构建与C99,C++,OpenCL和CUDA兼容使用特定于平台的编译器内部函数以获得最佳性能包含单元测试和微基准测试例#include/*Divisionofarraybyaconstant:referenceimplementation*/voiddivide_array_c(size_tlength,uint32_tarray[],uint32_tdivisor){for(size_ti=0;i<length;i++){array[i]/=divisor;}}/*Divisionofarraybyaconstant:implementati
1
《OpenMPAPI用户指南》概述了用于生成多重处理应用程序的OpenMPFortran95、C和C++应用程序接口(API)。
Sun?Studio编译器支持OpenMPAPI。
本指南专供具有Fortran、C或C++语言及OpenMP并行编程模型工作经验的科学工作者、工程技术人员以及编程人员使用。
通常,还假定他们熟悉Solaris操作环境或UNIX。
2025/9/11 13:46:57 382KB OpenMP API 用户指南
1
一个小型的编译器设计,是哈工大计算机专业必修课《编译原理》的课程设计。
2025/9/9 0:14:36 942KB 编译器 哈工大 编译原理
1
Java开发工具包(JavaDevelopmentKit,简称JDK)是Oracle公司提供的用于开发和运行Java应用程序的软件包。
在这个特定的版本“jdk-11.0.18win-64”中,我们关注的是Java11的一个更新,版本号为11.0.18,且该版本是针对Windows64位操作系统的。
这个压缩包包含了一个可执行文件“jdk-11.0.18_windows-x64_bin.exe”,这通常是JDK安装程序,用于在Windows64位系统上安装Java开发环境。
Java11是一个长期支持(Long-TermSupport,LTS)版本,意味着它将得到Oracle更长时间的技术支持和安全更新,对于企业和开发团队来说尤其重要,因为它提供了稳定性和安全性保障。
Java11在2018年9月发布,引入了许多新特性、改进和优化。
1.**模块化系统(ProjectJigsaw)**:Java9引入了模块化系统,但Java11进一步完善了这一特性。
模块化有助于改善代码的组织,提高性能,减少内存占用,并且使大型应用的构建和部署更加容易。
2.**HTTP客户端API(Java.net.http)**:Java11添加了内置的HTTP客户端API,使得开发者可以直接在Java代码中处理HTTP和HTTPS请求,而无需依赖第三方库。
3.**本地变量类型推断(var关键字)**:Java11引入了`var`关键字,允许局部变量声明时省略类型,由编译器根据初始值自动推断。
4.**动态CDS(ClassDataSharing)**:这是一个性能优化功能,允许在JVM启动时共享已加载类的数据,减少启动时间和内存消耗。
5.**改进的字符串处理**:包括新的`String#lines()`方法,用于获取字符串的所有行,以及`String#strip()`和`String#stripIndent()`,用于去除字符串两端的空白字符和缩进。
6.**ZGC(ZGarbageCollector)**:这是一种低延迟的垃圾收集器,适合大内存应用,其目标是在大部分情况下保持10毫秒以下的暂停时间。
7.**JLink**:这是一个命令行工具,用于构建自定义的Java运行时环境,只包含应用所需的模块,从而减小程序的大小。
8.**JEP325:FlightRecorder**:提供了一种标准接口来记录JVM内部事件,如性能数据,这对于诊断和分析性能问题非常有用。
9.**JEP326:JavaMissionControl**:这是一个强大的Java应用性能监控和诊断工具,现在成为JDK的一部分。
10.**其他小改进**:包括对JShell(JavaREPL)、Javadoc和JAR文件格式的增强,以及对SSL/TLS协议的支持更新等。
安装“jdk-11.0.18_windows-x64_bin.exe”后,开发者可以利用Java11的新特性和性能提升进行软件开发,包括编写桌面应用、Web应用、移动应用以及大数据处理和云计算服务。
此外,JDK还包括JRE(JavaRuntimeEnvironment),使得用户可以运行Java应用程序。
开发者还可以使用JDK中的编译器(javac)、调试器(jdb)和其他工具进行开发工作。
2025/9/7 0:18:01 139.69MB java
1
dnSpy是一款强大的开源.NET框架应用的反编译、调试和修改工具,专为开发者设计,尤其在处理Lambda表达式方面表现出色。
与.NETReflector相比,dnSpy在某些功能上更具优势,尤其对于那些需要深入代码理解或进行逆向工程的开发者来说,它是一个极好的选择。
dnSpy支持多种.NET框架版本,包括.NETFramework4.7.2,这也就是压缩包"dnSpy-net472.zip"的命名来源。
这个版本确保了它能处理基于.NET4.7.2的应用程序和库,为开发人员提供了一个在该框架下工作时查看和编辑IL(中间语言)代码的途径。
在反编译方面,dnSpy能够将.NET的编译后的DLL和EXE文件转换回易于理解的C#代码。
反编译器的准确性和可读性是其关键特性,dnSpy在这方面的表现优于.NETReflector,尤其是在处理Lambda表达式时。
Lambda表达式在现代C#编程中广泛应用,用于定义匿名函数,尤其是在LINQ查询中。
dnSpy可以将这些复杂的表达式转换成清晰的代码,方便开发者理解和修改。
除了反编译,dnSpy还包含了一个内置的调试器,允许用户直接在源代码级别调试.NET应用程序。
这对于排查问题、学习他人代码或者研究第三方库的工作原理非常有用。
用户可以在运行时暂停执行,检查变量值,设置断点,甚至修改代码并立即看到更改的效果,这在.NETReflector中是不具备的功能。
此外,dnSpy的界面直观且用户友好,代码编辑器提供了代码高亮、自动完成等现代IDE的特性,使得浏览和编辑代码更加方便。
同时,dnSpy还支持插件扩展,开发者可以根据自己的需求添加自定义功能,进一步提升工具的实用性。
在"dnSpy-net472.zip"压缩包中,包含了dnSpy针对.NET4.7.2版本的完整安装程序或可执行文件。
解压后,用户可以直接运行dnSpy,无需安装其他依赖项。
这使得dnSpy成为一个便携式的工具,可以在任何支持.NETFramework4.7.2的环境中使用。
dnSpy是一个功能全面、性能优秀的.NET反编译工具,它的强大在于其对Lambda表达式的处理能力,以及内置的调试器和源代码编辑功能。
对于.NET开发者,尤其是那些需要深入理解代码底层逻辑的人来说,dnSpy是不可或缺的工具之一。
通过熟练掌握和使用dnSpy,开发者可以更高效地学习、调试和优化.NET应用程序。
2025/9/3 17:26:42 21.74MB dnSpy
1
用vb6.0写的随机点名小程序,有工程源码,也有生成后的可执行文件;
原创作品;
需要安装VB6.0编译器;
可以使用VB6绿色版;
兼容winxp模式运行即可
2025/9/2 17:17:50 2.61MB vb6.0 随机点名 不需要姓名 座位号
1
C0编译器编译原理实验C0编译器的设计与实现原创-当年我们交的作业被评为优秀作业!!!要不是毕业好几年我都不舍得分享出来!!!还有配套代码在我的博客https://me.csdn.net/download/qq_27500493
1
神经元用Java编写的实验性NES模拟器目录产品特点核心使用基本反编译器的6502CPU仿真2C02PPU仿真具有2个脉冲通道,一个三角形通道,一个噪声通道和一个DMC(或PCM)通道的2A03APU仿真模拟支持它的游戏的节省(每30秒一次)iNESMappers(非穷举游戏列表):(000):超级马里奥兄弟,大金刚,达克亨特,攀冰者,Excitebike(001):《塞尔达传说》,《塞尔达传说2》,《银河战士》,《洛克人2》(002):恶魔城,DuckTales,洛克人,金属齿轮(003):田径(004):超级马里奥兄弟2,超级马里奥兄弟
2025/8/27 11:56:26 91.58MB zelda java emulator mario
1
Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器.快速编译和较少内存占用;
有诊断功能;
兼容GCC;
2025/8/19 4:29:05 172.41MB clang llvm clang-format clangformat
1
共 560 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡