<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hongyang1980</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hongyang1980]]></copyright><item><title><![CDATA[2025 AI 框架全景分析与发展趋势]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/155673108</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/155673108</guid><author>hongyang1980</author><pubDate>Sun, 07 Dec 2025 15:16:25 +0800</pubDate><description><![CDATA[2025年AI框架生态呈现多元化发展格局，主流框架与专业框架协同演进。目前活跃框架超过50个，开发者群体突破500万，推动技术创新与应用落地。PyTorch、TensorFlow等通用框架持续主导市场，同时涌现出LangChain、LlamaIndex等专注Agent开发的框架，以及vLLM、LMDeploy等高性能推理框架。轻量级方案如Ollama、Llama.cpp满足边缘计算需求。框架发展历经深度学习雏形、主流框架崛起、大模型时代等阶段，现已形成覆盖训练推理、云端边缘的完整技术栈，广泛应用于智能制造、]]></description><category></category></item><item><title><![CDATA[Python 学习]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/113704192</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/113704192</guid><author>hongyang1980</author><pubDate>Fri, 05 Feb 2021 21:27:51 +0800</pubDate><description><![CDATA[Python 学习Python 核心Python的世界快速入门合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
Python 核心
Python的世界
它是一门优雅而健壮的编程语言，集成了传统的语言的强大和通用性。具有易学，易读，易维护等特性]]></description><category></category></item><item><title><![CDATA[C# .NET 中计算内存占用和执行时间]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/12046995</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/12046995</guid><author>hongyang1980</author><pubDate>Thu, 26 Sep 2013 13:21:42 +0800</pubDate><description><![CDATA[内存占用：
long start = GC.GetTotalMemory(true);
NewClass myClass = new NewClass();
GC.Collect();
GC.WaitForFullGCComplete();
long end = GC.GetTotalMemory(true);
long useMemory = end - start;  

执行时间：
]]></description><category></category></item><item><title><![CDATA[C++ ATL 创建的COM组件与.NET的数据交互问题（一）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/11920231</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/11920231</guid><author>hongyang1980</author><pubDate>Mon, 23 Sep 2013 10:17:21 +0800</pubDate><description><![CDATA[最近遇到一个问题，就是如何在.NET 框架下的C# 实现的WCF里去获取其他COM组件中的数据。
简单的数据，例如常用数据类型的数据大家应该都没有问题。
但是如果是自定义的数据类型，例如自定义的结构体，类等如何获取他们的信息呢？
首先，.NET 与 C++的交互有方式，简单说就有两种：1. PInvoke 2. Interop
个人理解，PInvoke就是在code里显示写明调用的dll中]]></description><category></category></item><item><title><![CDATA[.net framework 知识点]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/7450756</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/7450756</guid><author>hongyang1980</author><pubDate>Wed, 11 Apr 2012 18:25:17 +0800</pubDate><description><![CDATA[什么是.NET？什么是CLI？什么是CLR？IL是什么？JIT是什么，它是如何工作的？GC是什么，简述一下GC的工作方式？

.NET 是微软推出的开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台，以通用语言运行库（Common Language Runtime）为基础，支持多种语言（C#、VB、C++、Python等）的开发。NET也为应用程序接口（API）提供了新功能和开发工具。]]></description><category></category></item><item><title><![CDATA[Why Using Sockets instead of Remoting]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/7355476</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/7355476</guid><author>hongyang1980</author><pubDate>Thu, 15 Mar 2012 08:59:26 +0800</pubDate><description><![CDATA[If you need bidirectional communication and if the data is a small fragment use sockets

If you want the best performance 
When Client is waiting for notifications/events from server 
Remoting is]]></description><category></category></item><item><title><![CDATA[Why Using Sockets instead of Remoting]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/7355471</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/7355471</guid><author>hongyang1980</author><pubDate>Thu, 15 Mar 2012 08:57:34 +0800</pubDate><description><![CDATA[If you need bidirectional communication and if the data is a small fragment use sockets

If you want the best performance 
When Client is waiting for notifications/events from server 
Remoting is]]></description><category></category></item><item><title><![CDATA[android是什么]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/7219151</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/7219151</guid><author>hongyang1980</author><pubDate>Mon, 30 Jan 2012 10:59:14 +0800</pubDate><description><![CDATA[Android 是一种运行在移动设备上的软件集，包括操作系统,中间件和应用程序.
Android SDK 为开发运行在基于java语言的android平台上的应用程序提供API和工具。


特点


应用程序框架 可以重用和替换组建
Dalvik 虚拟机 为移动设备优化
集成浏览器 基于开源的 WebKit 引擎
图形优化 第三方二维图形库; 基于OpenGL ES 1.0 的]]></description><category></category></item><item><title><![CDATA[杂谈]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/6284005</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/6284005</guid><author>hongyang1980</author><pubDate>Mon, 28 Mar 2011 17:00:00 +0800</pubDate><description><![CDATA[连接 sql server 失败:确认一下 server -> property -> security -> Server authentication 是 SQL Server and Windows Authentication mode.IIS 错误, 确认一下:asp_net 进程是否存在, 如果不, 运行 aspnet_regiis -i 命令]]></description><category></category></item><item><title><![CDATA[C# try catch finally]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/5397302</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/5397302</guid><author>hongyang1980</author><pubDate>Fri, 19 Mar 2010 17:53:00 +0800</pubDate><description><![CDATA[1 finally与returntry-catch-finally是很常用的语法结构，用来控制可能发生异常时的程序流程，其中catch和finally至少要有一个。初学try语法时可能会要问一个问题：如果在try块中return，那么finally还会执行吗？答案是肯定的。这个非常容易验证，就不举例子了。这样带来一些很好的特性，例如我们可以在try块中尝试打开数据库，然后读取数据，然后直接把得]]></description><category></category></item><item><title><![CDATA[读书笔记五（Chapter9 and Chapter10）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3839931</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3839931</guid><author>hongyang1980</author><pubDate>Tue, 20 Jan 2009 17:38:00 +0800</pubDate><description><![CDATA[Chapter9 客户端的简化1.智能指针 智能指针---主要是指组件的AddRef和Release工作可以由系统自动做好，程序员不用操心啦。接口指针类---ATL中有CComPtr何CComQIPtr的COM接口指针类。接口指针的应用---通过接口的IID来创建对象，然后调用CoCreateInstance创建组件。例如：IPtr spIX;HRESULT hr = ]]></description><category></category></item><item><title><![CDATA[vc6.0编辑器 快捷键]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3615612</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3615612</guid><author>hongyang1980</author><pubDate>Fri, 26 Dec 2008 16:42:00 +0800</pubDate><description><![CDATA[下面是一些VC6的快捷键，知道它们会很方便，当让，不是刻意去记它，在用VC的时候，如果觉得哪个操作麻烦，就可以查查这个，没几次就记住了。Ctrl+O ：OpenCtrl+P ：PrintCtrl+N ：NewCtrl+Shift+F2 ：清除所有书签F2：上一个书签Shift+F2：上一个书签Alt+F2 ：编辑书签Ctrl＋F2：添加/删除一个书签F12：Goto definitionS]]></description><category></category></item><item><title><![CDATA[Inside COM 笔记四（Chapter7, Chapter8）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3549558</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3549558</guid><author>hongyang1980</author><pubDate>Thu, 18 Dec 2008 14:15:00 +0800</pubDate><description><![CDATA[Chapter7 类厂首先介绍组件的创建，CoCreateInstance函数。函数声明：STDAPI CoCreateInstance(  REFCLSID rclsid,     //Class identifier (CLSID) of the object  LPUNKNOWN pUnkOuter, //Pointer to controlling IUnknown  DWORD dw]]></description><category></category></item><item><title><![CDATA[Inside COM 笔记三（Chapter5, Chapter6）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3439361</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3439361</guid><author>hongyang1980</author><pubDate>Wed, 03 Dec 2008 18:27:00 +0800</pubDate><description><![CDATA[Chapter5 动态链接Dll 动态链接库，他与组件有什么关系呢？答：Dll只是发布组件的形式，不是组件。组件是Dll中实现的接口集合。如何创建组件？这里涉及到Dll的输出函数，Dll存在的意义也就是它了。试想没有输出函数的Dll会有什么用啊？输出函数的定义注意加extern “C”防止编译器加上类型信息。方便调用者使用。光有extern“C”，还是不能使用Dll，还要有DEF文件来说明有哪些导]]></description><category></category></item><item><title><![CDATA[Inside COM 笔记二（Chapter3，Chapter4）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3389995</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3389995</guid><author>hongyang1980</author><pubDate>Thu, 27 Nov 2008 12:22:00 +0800</pubDate><description><![CDATA[首先介绍QueryInterface，可见它的地位。为什么要存在，因为COM组件对用户来说是一个黑盒子，不知道里面到底有什么，所以就需要有查询的方法。COM的Interface必须继承自IUnknown。每个Interface的vtbl中的前3个函数都是QuereyInterface，AddRef和Release。IUnknown的获取，通过CreateInstance函数得到，而不必再使用new]]></description><category></category></item><item><title><![CDATA[Inside COM 笔记一（Chapter1 &amp; Chapter2）]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3370880</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3370880</guid><author>hongyang1980</author><pubDate>Tue, 25 Nov 2008 16:44:00 +0800</pubDate><description><![CDATA[Chapter1首先介绍什么是组件，它的优点是什么。Quote文章的原话是：与语言无关，二进制形式发布，不妨碍老客户的情况下升级，透明的被分配到网络上。Chapter2 interface这里的interface不是普通意义上的函数，而是指一堆函数的集合，有时可以说是C++里的类。这点需注意，有时容易confuse我们。interface做的尽量能够预测未来，怎么预测未来，就是靠实现和声明分离，似]]></description><category></category></item><item><title><![CDATA[调用约定]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/3370818</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/3370818</guid><author>hongyang1980</author><pubDate>Tue, 25 Nov 2008 16:35:00 +0800</pubDate><description><![CDATA[ __stdcall       　　被这些修饰关键字修饰的函数，其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传)，　　函数调用在返回前要清理堆栈，但由调用者还是被调用者清理不一定。　　1、_stdcall是Pascal程序的缺省调用方式，通常用于Win32 Api中，函数采用从右到左的压栈方式，　　自己在退出时清空堆栈。VC将函数编译后]]></description><category></category></item><item><title><![CDATA[使用集锦]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/429649</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/429649</guid><author>hongyang1980</author><pubDate>Wed, 20 Jul 2005 10:37:00 +0800</pubDate><description><![CDATA[使用枚举类型必须使用手工加入。例如：protected:enum{font，pens，brushes} m_display这是一个匿名的枚举。使用方法：m_display=fonts;好处是防止使用非法的数字，而且可以很简要的表达所有的元素。鼠标操作当鼠标移动的时候，窗口(指整个窗口，包括客户和非客户区域)会收到WM_NCHITTEST消息，通过他程序可以计算鼠标的位置，通常这些都由缺省的窗口函数]]></description><category></category></item><item><title><![CDATA[C#简介]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/429343</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/429343</guid><author>hongyang1980</author><pubDate>Tue, 19 Jul 2005 20:45:00 +0800</pubDate><description><![CDATA[在过去的二十年里，C和C++已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的操作，不过同时也牺牲了一定的效率。与诸如Microsoft? Visual Basic? 等语言相比，同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性，许多程序员都试图寻找一种新的语言，希望能在功能与效率之间找到一个更为理想的权衡点。　　目前有些语言，以牺牲灵活性的]]></description><category></category></item><item><title><![CDATA[介绍微软一个罕为人知的无敌命令]]></title><link>https://blog.youkuaiyun.com/hongyang1980/article/details/294925</link><guid>https://blog.youkuaiyun.com/hongyang1980/article/details/294925</guid><author>hongyang1980</author><pubDate>Sun, 20 Feb 2005 17:59:00 +0800</pubDate><description><![CDATA[问:怎么才能关掉一个用任务管理器关不了的进程？我前段时间发现我的机子里多了一个进程，只要开机就在，我用任务管理器却怎么关也关不了 　　答1:杀进程很容易，随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式，不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程：　　c:/>ntsd -c q -p PID 　　只有System、SMSS.EXE]]></description><category></category></item></channel></rss>