编译器cache

模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案

模拟.NET实际应用场景,综合应用三个主要知识点:一是使用dnSpy反编译第三库及调试,二是使用Lib.Harmony库实现第三库拦截、伪造,三是实现同一个库支持多版本同时引用。 ......
第三方 场景 版本 方案 NET

【Spring】Cache抽象

参考:https://github.com/labulakalia/ibm_bak/blob/main/ibm_articles/%E6%B3%A8%E9%87%8A%E9%A9%B1%E5%8A%A8%E7%9A%84Springcache%E7%BC%93%E5%AD%98%E4%BB%8B%E ......
Spring Cache

Csproj 编译输出引用Nuget包内的资源文件

组内有个组件,对外部Nuget包Microsoft.Web.WebView2封装。 因为WebView2对自身有一些资源文件依赖,资源文件需要随编译输出到启动目录,WebView2直接加载启动目录下相应文件。 如果上层应用同时引用Microsoft.Web.WebView2,自然会输出对应的资源文件 ......
文件 Csproj 资源 Nuget

编译原理--文法和语言

summer pocket _ 羽未 将幸福装进口袋,那个夏日无比的耀眼 文法与语言的定义 文法定义: 文法G定义为四元组(Vn,Vt,P,S),Vn为非终结符,Vt为终结符,P为规则,S为标识符(开始符) 文法G所产生所参数的语言定义为集合L(G) 文法的类型P25 句型与句子: 句型包括句子 语 ......
文法 原理 语言

瑞芯微RK3568|SDK开发之Kernel编译

1. Kernel手动编译 1.1 kernel查询帮助 使用./build.sh -h kernel查看kernel的详细编译命令如下所示。 图1.1编译内核 上图表示,单独编译kernel固件分为三步,进入kernel目录,选择默认配置文件,编译镜像。 1.2 kernel默认配置 对应平台的默 ......
Kernel 3568 SDK RK

瑞芯微RK3568|SDK开发之环境安装及编译操作

一个通用 Linux SDK 工程目录包含有 buildroot、app、kernel、device、docs、external 等目录。其中一些特性芯片如RK3308/RV1108/RV1109/RV1126等,会有所不同。 ......
环境 3568 SDK RK

23python源码编译加密

利用python3和python2自带模块进行源码加密 模块一 py_compile python -m py_compile test.py 模块二 compileall python -m compileall test.py 对目录下py文件进行编译加密 python -m compileal ......
源码 python 23

5-Linux操作系统 vi/vim编译器

一、vi编译器介绍 Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因 此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它 ......
编译器 系统 Linux vim vi

关于MRS编译生成数据代表含义

当MRS编译完成后,编译界面显示信息如下,其中数据代表含义如下: text段是程序代码段,由编译器在编译链接时自动计算,表示程序代码段大小。 data段包含已初始化的全局变量和静态变量。 bss段是英文Block Started by Symbol的简称,通常是指用来存放程序中未初始化的全局变量的一 ......
含义 代表 数据 MRS

LRU Cache

LRU: "Least Recently Used"(最近最少使用) hashmap + 双向链表 当塞满之后 假如还要塞,就把最久没被使用的删除了,把新的加进来就行(可以通过双向链表模拟实现) hashmap: key - Node 用于模拟实现 Cache 双向链表 (Node) O(1)的时间 ......
Cache LRU

编译器优化记录(死代码消除+“激进的”死代码消除)

编译器优化记录(3)——死代码消除+”激进的“死代码消除 0. 什么是死代码消除 相信大家在写C++的时候,如果你定义了一个变量但是没有对其使用,大部分IDE都会对这个变量进行灰色的染色。又或者说,当你开了一个空的循环,在里面定义并使用了一堆和输出值/返回值没有关系的变量,这个时候IDE也会提示你这 ......
代码 编译器

求助遗留(Legacy)App 的编译问题(iOS)

事情是这样的,之前委托第三方开发了一个 iOS App ,使用了第四方的库。第四方库依赖 libstdc++ 众所周知,xcode 10 以后,需要迁移到 libc++了。但是第四方库已死,不再维护,当然也不会针对 libc++重新编译。 开始是用网上找到的把 xcode 9 的 libstdc++ ......
Legacy 问题 App iOS

Ubuntu18.04编译安装Ffmpeg6.0

本文仅使用Ffmpeg来推RTSP流,其他用途请谨慎参考。 1、安装基础库 apt-get install yasm apt-get install libsdl1.2-dev apt-get install libstdl2-dev apt-get install build-essential ......
Ffmpeg6 Ubuntu Ffmpeg 18.04 18

openwrt编译make menuconfig出错

make: *** No rule to make target 'menuconfig'. Stop. 原因 环境不是完整编译环境,而是imagebuilder环境 如解压的openwrt-imagebuilder-23.05.0-rc3-ramips-mt7620.Linux-x86_64.ta ......
menuconfig openwrt make

04步:编译Linux内核镜像

原文:https://www.zhaixue.cc/qemu/qemu-build_kernel.html Linux内核源码可以从官网下载(www.kernel.org),也可以从国内的镜像服务器下载,下载速度更快。国内镜像下载地址: https://mirrors.tuna.tsinghua.e ......
内核 镜像 Linux

Linux系统编程之GCC编译器

Gcc编译器 gcc [选项] [文件] 常用选项: -c:只编译不链接为可执行文件,编译器将输入的.c 文件编译为.o 的目标文件。 -o:<输出文件名>用来指定编译结束以后的输出文件名,如果使用这个选项的话 GCC 默 认编译出来的可执行文件名字为 a.out。 -g:添加调试信息,如果要使用调 ......
编译器 系统 Linux GCC

C++面试可能会用到的Cache

LRUCache 描述:考虑维护一个按照最近的使用时间来排序的链表,查询操作去哈希表中查当前key所对应的节点的指针,然后把该节点删除后再插入到链表首。插入操作的话先查询当前的key是否存在,如果存在的话先把当前key所对应的节点删除;如果链表已经满了的话就把链表尾部的元素删除,考虑完这两种情况以后 ......
Cache

[转] 记sublime配置typescript开发环境(插件和编译)的二三事

最近这几天在了解typescript,typescript官网上说Visual Studio 2017和Visual Studio 2015 Update 3默认包含了TypeScript,网上也有很多前辈推荐vscode。但是自己习惯上用sublime,本着编辑器能不换就不换的原则(懒人原则),还 ......
typescript 插件 sublime 环境

编译nw-node版本的插件

编译nw-node版本的插件 下载nwjs对应版本的nodejs 原始源码目录 yh@yh:~/addon$ tree . ├── addon.cc ├── binding.gyp ├── CppLib │ ├── mynumber.cpp │ └── mynumber.h ├── myobject ......
插件 nw-node 版本 node nw

linux在线编译

2. https://bellard.org/jslinux/点击链接就行噢! 个人用 其实我们从图中获取到很多的信息,比如cpu,操作系统os, user interface(用户界面),这里一般我们练习的或用户界面选择的是console (控制台)界面,俗称命令界面。有一个极大的问题,就是因为j ......
linux

Ubuntu中文件编译时gcc的链接参数-lm

在Terminal中使用gcc编译.c文件时,本以为参数的位置是十分宽松的,比如 -o 目标名 与 编译条件 是可以互换位置的。 正如此例:将hello.c文件编译成可执行文件hello时,gcc -o hello hello.c 与 gcc hello.c -o hello 两条编译命令是等价的。 ......
参数 链接 文件 Ubuntu gcc

.NET反编译神器ILSpy怎么用?

前言 上一篇文章我们介绍了4款免费且实用的.NET反编译工具,这篇文章主要来说说ILSpy这个工具该如何安装和使用。 ILSpy ILSpy是一款免费、开源的 .NET 反编译工具,能够将已编译的 .NET 程序集转换为易于阅读和理解的源代码。 GitHub开源地址:https://github.c ......
神器 ILSpy NET

从安卓模拟器中获取 expo-av 库录音得到的音频文件 file:///data/user/0/mo.com.nccl.xxx/cache/Audio

在使用 expo-av 录制音频时,录制结束通过 recording.getURI() 可以获取得到的音频文件的地址。 想要获取该文件可以通过发送请求的方式: const uri = recording.getURI(); let response = await fetch(uri); let b ......
模拟器 音频 expo-av 文件 Audio

如何查找链接库的位置,编译和执行时分别?

GCC 动态链接库链接查找 https://www.cprogramming.com/tutorial/shared-libraries-linux-gcc.html It looks in the DT_RPATH section of the executable, unless there i ......
位置 链接

Linux用g++编译生成动态连接库.so的方法及连接

Linux动态库默认搜索路径 /lib64、/usr/lib64、/lib、/usr/lib 系统头文件目录 /usr/include 常用命令 ldd main:查看二进制可执行文件链接的动态链接库信息,例如ldd nginx g++ -c main.cpp:以单个xx.cpp源文件为单位只编译出 ......
方法 动态 Linux so

4款免费且实用的.NET反编译工具

反编译工具的作用 .NET反编译工具能够将已经编译好的.NET程序集转换为易于理解的源代码,它们可以帮助开发人员恢复丢失的源代码、理解和分析第三方组件dll、学习其他人的代码、更好的查找修复 bug 或进行逆向工程等(注意:请在法律允许范围内合理使用)。 ILSpy ILSpy是一款免费、开源的 . ......
工具 NET

pipeline编译(jenkinsfile)

1.pipeline概念 Pipeline是Jenkins中最为灵活的job构建方式,可实现像流水线一样调度Jenkins任务, 通过Jenkinsfile描述整个持续集成流程 2.pipeline编写风格:声明式风格、脚本式风格 声明式:格式有强规范性(优势:可读性强。缺点:不灵活、代码冗长) 脚 ......
jenkinsfile pipeline

gcc 使用 与 选项 编译动态库

问题:-Wl,-rpath,/path/to/shared/lib将-rpath选项传递给链接器,告诉链接器在运行时搜索共享库时要搜索指定的路径/path/to/shared/lib 与 使用 -L 指定 lib 路径 有区别吗 是的,-Wl,-rpath和-L选项在链接器中有不同的作用和用途: - ......
动态 gcc

制作一个简洁的树莓派系统 - 公鸡下单篇(交叉编译篇)

“一只公鸡要下蛋,不是它的活它要干。” 开始之前 编译设备需要具有网络连接以及5GB的空闲磁盘空间 因为整个过程将不生成镜像文件,直接把系统写入磁盘,所以需要一张额外的空白MicroSD储存卡(推荐至少8GB),以及相应的读卡器 为了节省时间,除/boot外,/home、/proc等都将直接包含在/ ......
树莓 单篇 派系 公鸡

解决lombok编译报错

解决lombok编译报错 idea编译报错java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use buil ......
lombok