首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源 | 从 SQLlin 的更新看 Kotlin Multiplatform 技术更迭

无法支持的新平台导致有刚需的用户无法继续使用 SQLlin,而无法修复的问题导致特定场景必定出错的硬伤。一年没有任何维护让我对 SQLiter 感到疑虑,此时自行实现已经变成了必然选择。...起初的发布都在本人的工作电脑上进行(Macbook Pro),由于 Mac 电脑的 Kotlin/Native 编译器不支持编译 Windows 平台的产物,导致1.0 版本的 SQLlin 不支持 MinGW...Unit Tests, Linux x64 Unit Tests, MinGW x64 Unit Tests 5.2 合理的 Host 分配 Kotlin 支持众多平台,这里的平台是广义的,其中既包括操作系统原生产物...六、社区推广 2022 年 SQLlin 刚开源之际,我在 2022 Kotlin 中文开发者大会上分享 SQLlin 相关的内容:以 SQLlin 为例,分享如何构建自己的 KMP 库的经验。...他们的员工曾帮助提交PR(参考链接 4)协助修复一个 Native 平台与 Android 平台行为不一致的问题,并请求我尽快发布新版,因为他们希望在 App 发布新版时可以使用问题修复后的新版SQLlin

17210
您找到你想要的搜索结果了吗?
是的
没有找到

xmake v2.3.8 发布, 新增 Intel C++Fortran 编译器支持

但是仅仅指定工具链,并不能很好的调整目标程序的扩展名,例如对 *.js 和 *.wasm 的文件生成。...只要切换到 wasm 平台,xmake 会默认生成 *.js 以及对应 *.wasm 等目标文件,还会额外生成可以加载 js 来运行 wasm 程序的 *.html 页面。...生成的工程文件 xmake.lua 内容大概如下: add_rules("mode.debug", "mode.release") includes("qt_add_static_plugins.lua...更好的 Mingw 支持 关于这块的改进,涉及几个方面,首先是 Windows 下 Mingw SDK 根目录的自动探测的改进,大部分情况下,我们都不需要额外配置 --mingw= 参数显式指定路径,...XCode工具链,支持macOS/arm64 Bugs修复 #951: 修复 emcc (WebAssembly) 工具链在windows上的支持 #992: 修复文件锁偶尔打开失败问题

1.3K10

技术分享 | 直接系统调用开启WDigest凭证缓存

VisualStudio(C++)不支持X64处理器的内联汇编。因此,为了编写包含编译/汇编代码的单个信标对象文件(BOF),我们必须使用Mingw-w64(GCC for Windows)编译器。...WdToggle库 为了方便大家实验WdToggle技术,我们专门提供一个【GitHub库】供大家使用。...使用信标对象文件(BOF)在信标(Beacon)进程中执行此代码。 如何配置实验环境 在这里,我们并不打算给大家提供已编译好的源码,因此大家需要自行动手完成代码编译。...如果使用的是macOS的话,我们可以使用下列命令来安装Mingw-w64: sudo port install mingw-w64 接下来,运行下列命令来编译信标对象文件(BOF): make 在一个Cobaltstrike...当然,我们还有更多的选项来检测凭证被盗,例如使用Windows Defender ATP之类的高级检测平台

1.2K20

xmake v2.3.1 发布, 无缝对接其他构建系统

新特性介绍 生成build.ninja构建文件 xmake现已支持对ninja构建文件生成,让用户可以使用ninja来快速构建xmake维护的项目。...我们可以直接清理cmake维护项目的编译输出文件 $ xmake clean $ xmake clean --all 如果带上--all执行清理,会清除autotools/cmake生成的所有文件,不仅仅只清理对象文件...-trybuild=参数手动指定默认的构建系统,后续的build过程就不会额外提示用户选择。...$ xmake 交叉编译mingw平台 $ xmake f -p mingw --trybuild=autotools [--mingw=xxx] $ xmake 使用其他交叉编译工具链 $ xmake...: 优化get.sh安装脚本,添加国内镜像源,加速下载 改进process调度器 #651: 改进os/io模块系统操作错误提示 Bugs修复 修复增量编译检测依赖文件的一些问题 修复log输出导致xmake-vscode

85430

xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持

现在,xmake v2.3.7 版本发布,在新版本中,我们主要完善 xmake 自身的稳定性和兼容性,通过两个月的不断迭代,修复很多用户反馈的各种使用问题,使用体验和稳定性有很大的提升。...尤其是针对 windows 平台,我们提供额外的 xmake-tinyc 安装包,里面内置 tinyc 编译器,使得用户可以完全脱离臃肿的 vs 环境,一键安装,开箱即用,只需要 5M 的安装包即可开发简单的...而不需要关心 autotools/cmake 需要如何去配置使用和编译,毕竟 cmake 对于 windows 和 linux 平台,需要生成不同的构建文件,编译方式也是不同的,一会调用 make,一会调用...如果你们用过 autotools/cmake 去交叉编译生成 mingw/android/ios 的目标程序,cmake 和 autotools 还能够简单一致的处理么?...改进ubuntu下Qt环境的支持 #918: 改进cuda11工具链的支持 改进Qt支持,对通过 ubuntu/apt 安装的Qt sdk也进行了探测支持,并且检测效率也优化了下 改进 CMake 工程文件生成器

1.3K10

xmake v2.6.4 发布,大量包管理特性改进

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置 Lua 运行时。...包管理支持工具链切换 之前,我们限制只能在 cross 平台下切换包安装的工具链,新版本中,我们可以支持更多平台下,对工具链的切换。...而 Xmake 内置提供 add_rules("asn1c") 规则去处理 .c 文件生成,add_requires("asn1c") 自动拉取集成 ASN.1 编译器工具。...这尽管很方便,只能支持 windows 程序,并且全量导出对生成的 dll 大小不好控制,有可能会存在不少根本不需要的内部符号被导出。...工程生成器去支持 cuda Bugs 修复 #2005: 修复 path.extension #2008: 修复 windows manifest 文件编译 #2016: 修复 vs project

53510

MinGW32和64位交叉编译环境的安装和使用「建议收藏」

-gcc-4.8.0-win64_rubenvb.7z 包的命名规范是: [i686-w64-mingw32]-[gcc-4.8.0]-[win64]_rubenvb [目标平台]-[gcc-4.8.0...]-[工具链OS]_rubenvb 目标平台MinGW最终编译好的二进制代码运行的平台,[i686…]表示Win32平台,[x86_64-…]表示Win64平台。...6 使用Libiconv的64位版本 使用MSVS2010创建win32控制台空项目,添加下面的文件main.c。然后更改项目平台为:x64。...项目属性里面,链接器->高级里面选择:MachineX64 (/MACHINE:X64)。常规->字符集->未设置。经过这样的配置,就可以编译32 / 64位windows程序。...作为组织开发、持续集成大型Windows项目,充分利用开源软件,的一款极为优秀的交叉编译环境,提供我们在不同的平台上编译 Windows程序的能力。

6.8K10

Nim之NimShellCodeLoader免杀学习

前言 本来看着dayu师傅在freebuf上更新NimShellCodeLoader免杀的文章,所以想着复现下,但是在复现中发现很多的坑,本来想着都实现一波的,但是事实上由于种种原因,生成的木马执行报错...: https://sourceforge.net/projects/mingw-w64/files/ 下载最新版x64位版本: 64位系统建议选择x86_64-posix-sjlj 32位系统建议选择...2.2.2 利用Nim自带的程序finish.exe安装 在Nim的环境中,有一个程序是finish.exe,可以利用该程序下载MinGW的安装包: 在命令行里面启动这个文件,一路Y下去之后,下载完成...4.2 Cobalt Strike生成shellcode 在本地启动一个cs,然后连接: 建立监听,选择攻击-生成后门-Payload生成器生成一个原始的shellcode文件生成payload...: 4.1 OEP_Hiijack_Inject_Load 4.1.1 凯撒加密 当前模块使用的是msf的shellcode测试的:直接在这里点击生成生成文件路径: 直接双击运行:此时msf

1.3K40

MSVCGCCNDK:将二进制文件生成obj文件

如何将二进制文件作为数据添加到自己程序中?...c代码,与项目一起编译,这方法对于小数据没问题,如果二进制文件太大,生成的c代码更是巨大,增加编译器负担,好处就是完全没有跨平台问题。...objcopy本身就提供二进制数据转成obj文件的能力 执行如下指令即可将 file.bin 生成 elf32-i386 格式的obj文件 file.o objcopy -I binary -O elf32...,默认即为当前平台的obj格式,比如Windows平台下的MinGW ld则默认为pe-x86-64,NDK 的ld默认为elf32-littlearm 可以通过执行 ld --print-output-format...如果你已经安装了MinGW编译器,使用MinGW提供的objcopy或ld就可以生成MS COFF格式的obj文件 如下生成MSVC所需的PE格式obj文件 objcopy -I binary -O

2K30

神兵利器 - WdToggle WDigest凭据缓存

Visual Studio(C ++)不支持x64处理器的内联汇编。因此,为了编写包含我们已编译/汇编代码的单个信标对象文件,我们必须使用Mingw-w64(适用于Windows的GCC)编译器。...使用Beacon对象文件在Beacon进程中执行此代码。 克隆此存储库。 确保已安装Mingw-w64编译器。...例如,在Mac OSX上,我们可以使用ports集合安装Mingw-w64(sudo port install mingw-w64)。 运行make命令以编译Beacon目标文件。...我们为不同的版本提供一些偏移,但是这些偏移可能会在将来的版本中更改。您可以添加自己的版本偏移量,可以使用Windows调试器工具找到该偏移量。...当然,还有更多选择来检测凭据盗用,例如使用Windows Defender ATP之类的高级检测平台。但是,如果您没有使用这些平台的预算和奢侈,那么Sysmon是可以帮助填补空白的免费工具。

84810

xmake v2.5.8 发布,新增 PascalSwig 程序和 Lua53 运行时支持

更多例子见:Pascal examples Vala 库编译支持 上个版本,我们新增对 Vala 语言的支持,但是之前只能支持控制台程序的编译,无法生成文件。...swig.c 和 swig.cpp 规则,可以对指定的脚本语言,调用 swig 程序生成 c/c++ 模块接口代码,然后配合 xmake 的包管理系统实现完全自动化的模块和依赖包整合。...修复 vsxmake 插件 Unicode 编码问题 另外,如果基于 Unicode 作为项目目录,那么生成的 vsxmake 项目会收到影响,导致 vs 项目编译和访问上存在很多问题,我们也在新版本中做了修复...pdb 文件 #1638: 改进合并静态库 改进 on_load/after_load 去支持动态的添加 target deps #1675: 针对 mingw 平台,重命名动态库和导入库文件名后缀...check_xxx 相关接口 #1726: 改进 compile_commands 生成器去支持 nvcc Bugs 修复 #1671: 修复安装预编译包后,*.cmake 里面的一些不正确的绝对路径

72530

Donut - 将 .NET 程序集作为 Shellcode 注入

不支持在远程进程中运行有效负载。 执行程序集 execute-assembly 的主要问题是它每次都以相同的方式执行。这种可预测性确保它的可靠性,但也让防御者能够构建分析。...但是,它不允许您注入正在运行的进程或指定注入的发生方式。它只是你可以运行的模块化,而不是你如何运行它。...您最多可以做的是通过更改 Malleable C2 配置文件中的spawnto变量来指定为您的牺牲子进程运行的可执行文件。...因此,无论注入前进程的状态如何,您的有效负载都应始终运行。 Shellcode 生成 上面的逻辑描述 donut 生成的 shellcode 是如何工作的。该逻辑在 payload.exe 中定义。...两个编译器都提供 Make 文件,默认情况下它们将生成 x86-64 shellcode,除非 x86 作为标签提供给 nmake/make。

1.8K00

C++系列-附录-windows下安装C++环境

它是Windows平台上的主要C++编译器,与Visual Studio集成,提供丰富的开发工具和调试功能。...它主要用于IBM Power 和IBM System z平台,支持标准的C++语言规范,并提供一些针对这些平台的优化特性。...使用-I选项指定包含头文件的目录,-L选项指定包含库文件的目录,-l选项指定要链接的库文件。...使用-g选项生成调试信息,以便在调试时使用。 这些命令示例展示MinGW环境下使用g++编译器的一些常见用法。请注意,具体的命令选项和用法可能会因MinGW版本和个人设置而有所不同。...这可能是因为 MinGW 在 Windows 环境中提供一些特定的功能、适配了 Windows 平台的特性,或者在 MinGW 版本之间存在一些微小的差异。

19710

C++概述

1.2 高级编程语言 20世纪50年代,新一代编程语言就出现。他们是平台独立的,这意味高级语言书写的程序可以在不同类型的计算机上运行,高级语言很像英语,易于学习和使用。...就面向过程编程而言,C++和C几乎是一样的,所以学习C语言,也就学习C++的一半,不需要从头再来。...命令行下使用微软编译器理解编译和运行的机制 cl HelloWorld.cpp /c # 只编译,不链接 cl HelloWorld.obj /link # 链接生成 .exe 文件...Kits\10\Lib\10.0.19041.0\um\x64; 4、在命令行中编译执行 2.4 在MinGW编译和执行C++程序 编译命令: D:\>mingw32-g++ -g -c demo.cpp...-o demo.o 链接命令: D:\>mingw32-g++ -o demo.exe demo.o 执行命令: D:\>demo.exe 2.5 编码规范及注释 C++编码风格 每条语句占一行 每个函数都有一个开始和结束花括号

85830

vscode安装

配置学习曲线:虽然VSCode提供很多自定义配置选项,这也意味着用户需要花费一定的时间去学习和理解这些配置。对于初学者来说,这可能会增加学习成本。...Redefined 根据自己的系统选择 本文根据win x64编写,其他同理 2.安装汉化插件 中文插件: 3.搭建开发环境 c/c++开发环境 MinGW-w64 - for 32 and 64...: 打开文件夹: 打开: 生成生成 建立新的终端:ctrl+shift+` 终端输入....\test.exe 5.编写c++ 添加配置 新建文件夹 添加配置 同理: 生成 终端—配置任务 运行生成任务:生成exe ctrl+shift+·新建终端 终端输入 6.多个文件编译...尽管VSCode在轻量性、易用性、插件生态系统和跨平台支持等方面具有优势,Vsstudio同样是一款功能强大的开发工具,特别在Windows平台上提供更为完善的功能和工具支持。

11110

xmake从入门到精通9:交叉编译详解

项目源码 官方文档 交叉编译工具链简介 通常,如果我们需要在当前pc环境编译生成其他设备上才能运行的目标文件时候,就需要通过对应的交叉编译工具链来编译生成它们,比如在win/macos上编译linux...注:我们也可以指定-p linux平台来配置交叉编译,效果是一样的,唯一的区别是额外标识linux平台名,方便xmake.lua里面通过is_plat("linux")来判断平台。...手动配置编译 如果上面的自动检测对某些工具链,还无法完全通过编译,就需要用户自己手动设置一些交叉编译相关的配置参数,来调整适应这些特殊的工具链,下面我会逐一讲解如何配置。...,sh指定共享库程序链接器,ar指定生成静态库的归档器。...,就不用额外指定mingw工具链路径,方便使用。

1.7K30
领券