<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[feitian944的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/feitian944</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; feitian944]]></copyright><item><title><![CDATA[将intrinsic 转换成wasm_XX函数然后再编译为wasm代码]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/160795410</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/160795410</guid><author>feitian944</author><pubDate>Tue, 05 May 2026 15:56:43 +0800</pubDate><description><![CDATA[有，而且主流方案分两类：一类是编译期直接把 Intrinsic 转成 WASM SIMD 指令（Emscripten/LLVM），另一类是源码层把 SSE/AVX 宏展开成 wasm_XX 函数（SIMDe、xsimd、Highway），再交给编译器转成 WASM 二进制。这是最主流、开箱即用的方案，不需要改源码，编译时自动把支持的 SSE/SSE4.2 Intrinsic 映射到 WASM SIMD（v128）指令。将intrinsic 转换成wasm_XX函数然后再编译为wasm代码吗。]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/160787013</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/160787013</guid><author>feitian944</author><pubDate>Tue, 05 May 2026 10:54:11 +0800</pubDate><description><![CDATA[你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章，了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语法支持，除了标准的Markdown编辑器功能，我们增加了如下几点新功能，帮助你用它写博客：撤销：Ctrl/Command + Z
重做：Ctrl/Command + Y
加粗：Ctrl/Command + B
斜体：Ctrl/Command + I
标题：Ctrl/Command + ]]></description><category></category></item><item><title><![CDATA[【无标题】]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/133107052</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/133107052</guid><author>feitian944</author><pubDate>Wed, 20 Sep 2023 23:22:42 +0800</pubDate><description><![CDATA[自旋锁使用场景和实现分析。]]></description><category></category></item><item><title><![CDATA[cmake]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/127183778</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/127183778</guid><author>feitian944</author><pubDate>Thu, 06 Oct 2022 15:28:34 +0800</pubDate><description><![CDATA[cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -G"MinGW Makefiles" .]]></description><category></category></item><item><title><![CDATA[2021-03-07]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/114480844</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/114480844</guid><author>feitian944</author><pubDate>Sun, 07 Mar 2021 11:32:46 +0800</pubDate><description><![CDATA[makefile_打造专业的编译环境【转】
我只是搬运工，转自https://blog.51cto.com/11134889/2109124

]]></description><category></category></item><item><title><![CDATA[Emscripten编译环境搭建-中转]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/110304591</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/110304591</guid><author>feitian944</author><pubDate>Sun, 29 Nov 2020 09:02:15 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

Emscripten编译环境搭建
网址https://www.cnblogs.com/hencins/p/9396448.html

]]></description><category></category></item><item><title><![CDATA[图像去噪之非局部均值算法-原理和实现]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/80369385</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/80369385</guid><author>feitian944</author><pubDate>Fri, 18 May 2018 21:26:54 +0800</pubDate><description><![CDATA[1、基本原理 

是一种空间域滤波，和高斯模糊、均值滤波类似，当前像素点的值时通过周围像素的加权平均得到。不同之处在于权值计算策略不同，也就是下面公式中w计算方式不同； 


2、权重策略



以上图为例，对其去噪；对于帽子边缘的一个像素点，相比于高斯模糊或者均值模糊，用附近帽子边缘的像素点求均值更能好。那么计算机如何知道哪些像素也同样的实帽子边缘的像素？帽子边缘具有相似的结构，如果我们在每个像...]]></description><category></category></item><item><title><![CDATA[opencv 几种滤波处理效果]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/80287265</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/80287265</guid><author>feitian944</author><pubDate>Fri, 11 May 2018 22:18:31 +0800</pubDate><description><![CDATA[图像读取


读取和显示图像




Mat src = imread(&amp;quot;lena.png&amp;quot;);   
namedWindow(&amp;quot;src&amp;quot;);
imshow(&amp;quot;src&amp;quot;, src);


高斯模糊


Mat GaussianBlurImg;
namedWindow(&amp;quot;GaussianBlurImg&amp;quot;);
GaussianBlur(src, GaussianBlur]]></description><category></category></item><item><title><![CDATA[C 语言数组初始化]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51921649</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51921649</guid><author>feitian944</author><pubDate>Fri, 15 Jul 2016 23:13:01 +0800</pubDate><description><![CDATA[如果初始化时指定的的元素个数比数组大小少，剩下的元素都回被初始化为   0。例如 
     int   v5[8]={1,2,3,4}; 
等价于 
      int   v5[8]={1,2,3,4,0,0,0,0};
如果不对数组进行初始化,即在定义的同时没有用列表初始化,那么局部数组的值就取决于编译器而对程序员来说就是不可预料的了
 
gcc扩展：
#include <stdio.h> i]]></description><category></category></item><item><title><![CDATA[Linux内核同步方法]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51367254</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51367254</guid><author>feitian944</author><pubDate>Tue, 10 May 2016 22:55:17 +0800</pubDate><description><![CDATA[原子操作“原子”不可分割，原子操作，就是不能被分割的指令。 
原子类型实际上是一个整数：typedef struct {
    volatile int counter;
} atomic_t;使用定义
atomic_t v;
atomic_t u=ATOMIC_INIT(0)；//定义并初始化atomic_set(&amp;amp;v,4);
atomic_add(2,&amp;amp;v);
atomic_inc(&amp;amp;v);]]></description><category></category></item><item><title><![CDATA[Linux设备驱动（3）常用的宏、结构体、数据类型、函数等]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51345961</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51345961</guid><author>feitian944</author><pubDate>Sun, 08 May 2016 15:47:02 +0800</pubDate><description><![CDATA[struct file重要成员mode_t  f_mode：文件模式，可读（FMODE_READ）？可写(FMODE_WRITE)？loff_t f_pos：这是用来记录文件的偏移量。在应用程序中，打开文件时偏移量为0，每次的读写操作都会使偏移量增加；void *private_data：struct file_operations *fops：打开文件后，内核会把fops存放在这里，以后的操作就在]]></description><category></category></item><item><title><![CDATA[Linux设备驱动（2）字符设备]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51344950</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51344950</guid><author>feitian944</author><pubDate>Sun, 08 May 2016 11:52:21 +0800</pubDate><description><![CDATA[设备号设备号由主设备号和次设备号组成。linux下，一切设备皆文件，所有的设备都能在/dev目录下找到相应的文件。这些文件除了名字不一样以外，还每个设备文件都有不一样的设备号； 
  一般地，主设备号对应一个类型的驱动设备，之所以有次设备号，它是用来驱动同类型的设备。如串口，所有的串口共用一个主设备号，每个串口有不同的次设备号。dev_t类型用来保存设备编号（包含主设备号和次设备号），实际上是一个3]]></description><category></category></item><item><title><![CDATA[Linux设备驱动（1）模块的相关概念]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51344204</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51344204</guid><author>feitian944</author><pubDate>Sun, 08 May 2016 09:33:50 +0800</pubDate><description><![CDATA[最简单的内核模块#include<linux/init.h>
#include<linux/module.h>
static int __init hello_init(void) //内核初始化函数 
{  
        printk("hello world!\n"); //打印函数，和prinft类似 
        return 0;  
}  
static void __exit]]></description><category></category></item><item><title><![CDATA[java学习笔记（3）多态]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51213564</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51213564</guid><author>feitian944</author><pubDate>Thu, 21 Apr 2016 22:19:16 +0800</pubDate><description><![CDATA[向上转型1、通过父类引用访问子类方法class Base
{
    public Base(){}
    public void fun1(){
        fun2();
    }
    public void fun2(){
        System.out.println("base");
    }
}class Child extends Base
{
    public]]></description><category></category></item><item><title><![CDATA[java学习笔记（2）基本数据类型对象包装类]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51175871</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51175871</guid><author>feitian944</author><pubDate>Sun, 17 Apr 2016 22:25:01 +0800</pubDate><description><![CDATA[基本数据类型对象包装类byte     Byte
short    Short
int      Integer
long     Long
boolean  Boolean
float    Float
double   Double
char     Character
常用：和字符串相互转换 
xxx a = parseXxx(String)新特性Integer m=128;
Integer]]></description><category></category></item><item><title><![CDATA[java 学习笔记（1）String]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/51169161</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/51169161</guid><author>feitian944</author><pubDate>Sat, 16 Apr 2016 17:27:18 +0800</pubDate><description><![CDATA[string 的内存class StringMethodDemo
{
    public static void main(String[] args)
    {
        String s1="abc";
        String s2=new String("abc");
        String s3 = "abc";
        System.out.println(s]]></description><category></category></item><item><title><![CDATA[OnFileOpen与OnOpenDocument]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/8033231</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/8033231</guid><author>feitian944</author><pubDate>Sat, 29 Sep 2012 20:23:30 +0800</pubDate><description><![CDATA[OnFileOpen是菜单项的响应函数，由它具体调用那个对话框并完成文件的搜索和最终路径的确认。 
OnOpenDocument应该是在文件已经选好准备打开的时候触发的，这个时候应该可以处理文件内的具体数据了，所以你具体载入图像应该来重载这个函数，还有View的Update相关函数也要重载。



CWinApp::OnFileOpen调用CDocManager::OnFileOpen。]]></description><category></category></item><item><title><![CDATA[关于MFC消息响应的一点注意事项]]></title><link>https://blog.youkuaiyun.com/feitian944/article/details/8033209</link><guid>https://blog.youkuaiyun.com/feitian944/article/details/8033209</guid><author>feitian944</author><pubDate>Sat, 29 Sep 2012 20:18:47 +0800</pubDate><description><![CDATA[在vc6.0中我们新建一个多文档应用程序，如果我们为应用程序类添加ON_FILE_NEW消息响应，响应的消息响应函数为OnFileNew()，当我们单击“文件-新建”菜单时,就会调用该函数，不会调用基类的函数CWinApp::OnFileNew（）。
      但是在VS2008中，我们进行同样的操作时，跟踪调试发现引用程序仍会调用CWinApp::OnFileNew（），而且不会调用子类的O]]></description><category></category></item></channel></rss>