# gl **Repository Path**: llmgravedigger/gl ## Basic Information - **Project Name**: gl - **Description**: 本项目特别为 C# 初学者准备,主要是从开始入门就学习如何保护 C# 的知识产权。 第一个版本 核心源代码打包自 徐士良《常用算法程序集》C源代码,并被 C# 调用。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-05-05 - **Last Updated**: 2025-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gl #### 介绍 本项目特别为 C# 初学者准备,主要是从开始入门就学习如何保护 C# 的知识产权。 第一个版本 核心源代码打包自 徐士良《常用算法程序集》C源代码,并被 C# 调用。 如果是整个 C# 的项目 反编译 保护,直接用 Visual Studio 2022 编译 - 发布 为独立文件即可,生成的是非 JIT exe。 如果是希望将部分 代码加密 并共享(与 C/C++ dll)一样,则可以阅读本项目代码学习一些基础知识与实践经验。 #### 流程 (1)第一步:C代码 改良,gl.Native 可在 Visual Studio 中编译成 gl.Native.dll ;这个 dll 与 C/C++ 编译得到的 dll 完全一致;C# 反编译工具无法反编译;因而需要保护的C#代码可以用这样的方式编写。 (2)第二步:编写 dll 调用的 Wrapper 持续,gl.Sharp ,编译后得到 gl.Sharp.dll ,这个 dll 属于 JIT dll,C# 反编译工具可以获得源代码;这部分代码属于不需要保护的代码。 (3)第三步:gl.Drive ,调用与演示代码。含 矩阵 显示,曲线绘制。 #### 学习的基础知识 (1)IntPtr 指针 数组 等等的灵活混合使用; (2)代理 delegate 与 函数指针 (*f())() 的使用; (3)函数指针使用的方法; (4)矩阵数据显示到 WebBrowser; (5)曲线(插值)的显示,并现实于 WebBrowser; #### 编程环境 Visual Studio 2022 一个够用。