当前位置: 首页 > news >正文

公司做网络营销seo数据是什么

公司做网络营销,seo数据是什么,网站推广的表现方式,wordpress访问计数器.NET不仅可以使用 C静态库与动态库#xff0c;也可以将.NET实现的函数导出为C静态库与动态库。在没有Native Aot之前#xff0c;.NET只能通过P/Invoke享受C/C生态#xff0c;而在Native Aot之后#xff0c;不仅可以享受这些生态#xff0c;还可以开发SDK供其他语言调用。 … .NET不仅可以使用 C静态库与动态库也可以将.NET实现的函数导出为C静态库与动态库。在没有Native Aot之前.NET只能通过P/Invoke享受C/C生态而在Native Aot之后不仅可以享受这些生态还可以开发SDK供其他语言调用。 .NET Native AOT的NativeLib参数用于指定本机库的类型。在.NET 7中该参数有两个选项Static和Shared。 Static: 生成静态库意味着所有依赖项都将被编译到生成的可执行文件中因此它更适合独立应用程序或需要最小化依赖项的应用程序。Shared: 生成动态库意味着依赖项将被编译为单独的本机库并在运行时动态加载。这种方法可以减少生成文件大小并且更适合需要共享依赖项的应用程序所以它也被称为共享库。 使用UnmanagedCallersOnly特性可以将C#函数导出提供给C调用EntryPoint属性用于指定导出的方法名称。 .NET函数导出 使用UnmanagedCallersOnly特性可以将C#函数导出提供给C调用EntryPoint属性用于指定导出的方法名称。 public static class MyFunctions {[UnmanagedCallersOnly(EntryPoint Add)]public static int Add(int a, int b){return a b;}[UnmanagedCallersOnly(EntryPoint PrintString)]public static void PrintString(IntPtr str){Console.WriteLine(Marshal.PtrToStringAnsi(str));}[UnmanagedCallersOnly(EntryPoint GetSystemInfoWrite)]public static void GetSystemInfo(){Console.WriteLine($ProcessorCount: {Environment.ProcessorCount});Console.WriteLine($MachineName: {Environment.MachineName});}} 在项目属性中加入PublishAot即可 PropertyGroupPublishAottrue/PublishAot /PropertyGroup 您可以使用以下命令来指定NativeLib参数 dotnet publish -r win-x64 -c release /p:NativeLibStatic 或 dotnet publish -r win-x64 -c release /p:NativeLibShared 通过JetBrains dotPeek工具查看DLL文件中是否包含导出的几个函数 在C中使用Native dll 在C中调用DLL函数也可以分为隐式调用和显式调用两种方式。 隐式调用 附加库目录---添加文件引用的lib动态库路径 项目-属性-配置属性-链接器-常规-附加库目录加上lib文件的存放目录 附加依赖项---添加工程引用的lib文件名 项目-属性-配置属性-链接器-输入-附加依赖项加上lib文件名。 隐式调用是指在代码中直接使用函数名进行调用,而编译器会自动根据参数类型匹配合适的函数。 例如 #include iostream extern C {typedef int(AddFunc)(int, int);typedef void(PrintStringFunc)(const char*);typedef void(GetSystemInfoWriteFunc)();__declspec(dllimport) AddFunc Add;__declspec(dllimport) PrintStringFunc PrintString;__declspec(dllimport) GetSystemInfoWriteFunc GetSystemInfoWrite; }int main() {int result Add(1, 2);std::cout Result: result std::endl;PrintString(Hello, world!);GetSystemInfoWrite();return 0; } 随后编译项目运行C应用程序即可如下所示。 Result: 3 Hello, world! ProcessorCount: 12 MachineName: DESKTOP-MJL9J4R 显式调用 显式调用是指在代码中通过函数指针或者GetProcAddress等API来获取DLL中导出函数的地址并通过该地址来进行调用。 加载 DLL 文件并返回句柄HMODULE hDll LoadLibraryA(PathToLibrary);获取 DLL 中导出函数地址并赋值给指针变量AddFunc pAdd (AddFunc)GetProcAddress(hDll, Add);显式地通过指针变量来调用从 DLL 中导出的 add 函数int c pAdd(a,b); 例如 #include windows.h #define PathToLibrary C:\\Users\\hueifeng\\OneDrive\\InteropSample\\dotnetSample\\bin\\Release\\net7.0\\win-x64\\native\\dotnetSample.dlltypedef int (*AddFunc)(int, int); // 定义一个函数指针类型int main() {HMODULE hDll LoadLibraryA(PathToLibrary); // 加载dotnetSample.dll文件并返回句柄AddFunc pAdd (AddFunc)GetProcAddress(hDll, Add); // 获取Add函数的地址并赋值给pAddint a 1, b 2;int c pAdd(a, b); // 显式地通过pAdd指针来调用从DLL中导出的add函数 }
http://wiki.neutronadmin.com/news/67897/

相关文章:

  • 如何在百度里建网站西安网站制作首页
  • 网站建设经验介绍兴平市住房和城乡建设局门户网站
  • 上海建立公司网站湛江网站
  • 取消网站验证码漳州网站建设到博大
  • 试析媒体网站品牌建设找外国男人做老公网站
  • 素材网站的图可以做海报吗萧山建设信用网
  • 什么网站可以赚钱啊大沥做网站
  • 广西建设工会网站江苏省建设厅网站官网
  • 哪种类型的网站比较难做南宁制作网站的公司
  • 专业柳州网站建设多少钱天津建设局网站
  • 网站搜索优化找哪家手机怎么搭建网站源码
  • 无锡市建设工程质量监督站网站2021安全员证报名入口
  • 昆明网站建设系统有哪些重庆找工作哪个网站好
  • 制作公司主页网站十大高端全屋定制
  • 南通网站建设费用成都的网站建设公司哪家好
  • 大连专业手机自适应网站建设wordpress 数据库下载
  • 如何做古诗词网站万维设计
  • 政务网站建设情况汇报商城网站策划书
  • 网站改版 降权罗湖网站公司
  • 湛江外包做网站怎样建立一个自己的网站
  • 公司网站建设模板企业网站建设 毕业设计
  • 阿克顿巴网站建设的目的济南网站中企动力
  • 安徽省建设工程信息网官网是什么网站长沙企业seo服务
  • 软件企业网站建设栏目结构图如何做众筹网站
  • 嘉兴公司的网站设计那个网站可以做数学题赚钱
  • 义乌做网站多少钱王也高清壁纸图片
  • 设计做兼职最好的网站大连软件开发网站建设
  • 网站生成app 免费工具牧童蝉网站建设
  • 云主机开网站教程司法局门户网站建设该报告
  • jsp 做网站需要什么徐州seo代理计费