这两个月改造一个已有的小工程,搞得头晕,好在终归有了结果,一件小事值得一记:
- A工程和B工程:DLL
- C工程:静态库(A和B都用了这个静态库)
- D工程:依赖于A、B、C的一个EXE
遇到一个古怪问题,把向量、矩阵调了半天,出来的效果就是不对,后来单步跟踪,才发现C工程里很郁闷的用了几个全局变量,在运作某个函数之前,需要在这些全局变量里填上正确的值,结果就是填值的在A的DLL里,取值的在B的DLL里……
动中有静,静中有动,实在害人。
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
2.5k累计阅读
2.5k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄27年
这两个月改造一个已有的小工程,搞得头晕,好在终归有了结果,一件小事值得一记:
遇到一个古怪问题,把向量、矩阵调了半天,出来的效果就是不对,后来单步跟踪,才发现C工程里很郁闷的用了几个全局变量,在运作某个函数之前,需要在这些全局变量里填上正确的值,结果就是填值的在A的DLL里,取值的在B的DLL里……
动中有静,静中有动,实在害人。
静之徐清,动之徐生,SAP Fiori Elements 开发中的浊、静、清、动
摘要: SAP Fiori Elements 开发中,快速生成页面可能掩盖底层业务逻辑的混乱。过早呈现标准界面容易让团队误以为问题已解决,但实际使用时才会暴露字段顺序、筛选条件、权限等问题。开发应遵循“静之徐清,动之徐生”的原则:初期让业务语义沉淀,避免注解驱动的堆砌;后期通过受控扩展保持系统活力,而非僵化或过度定制。标准框架的优势在于减少代码量,但需警惕因局部修补破坏其一致性。业务对象应分层设计(如供应商主数据的财务、采购等模块),确保界面自然呈现逻辑而非杂乱堆叠。扩展时需平衡标准能力与定制需求,保持核心
静/动基座对准
重力加速度的方向与地球重力场的方向相同,可以通过测量加速度计在静止状态下的输出值来确定。地球自转角速度是地球自转引起的旋转速率,可以通过测量陀螺仪在静止状态下的输出值来确定。动基座对准适用于载体在运动中的情况,通过测量载体的姿态角和运动参数来校正IMU的测量值;静基座对准适用于载体静止的情况,通过测量载体在地球坐标系下的方向和位置信息来校正IMU的测量值。的情况,通过测量载体在地球坐标系下的方向和位置信息来校正IMU的测量值,可以提高导航的精度。动基座对准是在运动中完成的,通过测量船舶等运动载体的。
从浊水到清流,老子之静动智慧在 SAP ABAP 开发中的落地
文章摘要: 本文探讨《道德经》"浊以止,静之徐清;安以久,动之徐生"思想在SAP ABAP开发中的实践应用。指出优秀开发者需把握两种工程节奏:系统混乱时暂停行动,通过ST05追踪、数据建模等方式让问题浮现;系统稳定时主动重构、封装和云化以保持活力。文中通过具体案例说明如何处理性能问题、事务边界和状态管理,强调ABAP开发要避免两种极端:盲目修改和长期停滞。最后指出单元测试是让业务规则清晰呈现的重要手段,体现了"静之徐清"的开发智慧。
c++静多态与动多态
c++静态多态和动态多态
Hi3516CV610开发板实战:从零搭建智能视觉监控系统
本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。
亚马逊广告接口 amazon advertising
亚马逊广告接口官方说明:https://advertising.amazon.com/API/docs/en-us/setting-up/account-setup 一:注册aws开发者账号 注册地址:https://developer.amazon.com 二:填写注册资料 三:进入控制台,生成安全配置文件 进入 Login with Amazon 菜单: 创建配置文件: 四:申请广告接入权限 申请地址:https://advertising.amazon.com/zh-cn/about-api
静多态与动多态
一:如何判断静多态和动多态 1.动多态底层call的是寄存器,而静多态底层call的是函数入口地址 二:成为虚函数的条件 1.可以取地址,即inline内联函数不可以 2.必须依赖对象调用,因为虚函数表是通过对象内存布局的vfptr指向的,即static,构造函数不可以成为虚函数 3.析构就可以成为虚函数 三:动多态 1.对象调用虚函数发生的并不是动多态,只有指针调用时才会发生动多态...
在 Windows 系统下使用 VMware 安装 Ubuntu 24.04 LTS 系统
Ubuntu24.04桌面端官方下载:https://cn.ubuntu.com/download/desktop。
C++ 静多态与动多态
多态是指通过单一的标识支持不同的特定行为的能力。 C++中有两种多态,称为动多态(运行期多态)和静多态(编译期多态),而静多态主要通过模板来实现,宏也是实现静多态的一种途径。 动多态在C++中是通过虚函数实现的,即在基类中存在一些接口(一般为纯虚函数),子类必须重载这些接口。这样通过使用基类的指针或者引用指向子类的对象,就可以实现调用子类对应的函数的功能。动多态的函数调用机制是执行期...
第14.1章 高翔博士2025年11月最新开源框架Lightning-LM源码学习解读(一):激光-IMU定位+建图算法各模块简介
Lightning-LM:高效激光SLAM定位系统 该框架基于模块化设计,通过激光-IMU融合实现快速建图与定位,核心特点包括: 极速性能:纯CPU运行(建图1.2核/定位0.8核) 模块化架构:包含激光里程计(LIO)、地图管理、回环检测等独立模块 动态场景支持:地图分块加载、动静态图层分离 多模式适配:支持ROS2环境下的在线/离线运行 关键模块包括前端里程计(core/lio)、2D/3D地图转换(core/g2p5)、轻量优化库(core/miao)等,通过系统控制器(core/system)协调流
SAP_SD模块路径及运输功能后台配置简介
后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义传输模式根据实际运输过程运输地理的类型:海运、公路运输、空运后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义发运类型根据实际运输过程运输方式:汽车、卡车、火车、轮船、飞机后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义运输连接点指在运输过程中需要中转的地区可以维护中转地区的停留的时间后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义路径和阶段。
静多态和动多态
多态性可按照发生的时间段分为静多态(Static Polymorphism)和动多态(Dynamic Polymorphism)。其中静多态就是绑定发生在编译期(compile-time),此种绑定称为静态绑定static-binding);而动多态就是绑定发生在运行期(run-time),此种绑定称为动态绑定(dynamic-binding)。 静多态可以通过模板和函数重载来实现...
RDKit | 基于Pytorch和RDKit建立QSAR模型
QSAR 定量构效方法(quantitative structure-activity relationship, QSAR)是应用最为广泛的药物设计方法。所谓定量构效方法就是通过一些数理统计方法建立其一系列化合物的生理活性或某种性质与其物理化学性质之间的定量关系,通过这些定量关系。可以预测化合物的生理活性或某些性质,指导我们设计出具有更高活性的化合物。 早在...
页面动转静的方法
页面动转静,能加快页面加载速度,利于seo,减轻服务器压力,减少一些sql注入带来的安全问题。主要采用的方法是模板替换法:模板代码:页面动转静$content$aspx页面代码
“华为杯”研究生数学建模竞赛2020年-【华为杯】D题:无人机集群协同对抗(附获奖论文和MATLAB代码实现)
1.问题重述摘 要:本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题,结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法,构建了无人机集群协同对抗推演模型。,构建了。我们综合考虑了,和。首先分析红方在集群约束下的贪婪队形和拦截策略,然后我们基于内点法联合MATLAB和AMPL编程求解蓝方突防的非线性规划解,最后基于蒙特卡洛法对整个蓝方突防过程进行推演,得到突防概率图。通过推演,我们提出了两块的区域作为所求区域,并对蓝方的最优突防策略进行分析。
flowable工作流看这一篇就够了(基础篇)
接下来我们构建一个非常简单的请假流程,Flowable引擎需要流程定义为BPMN 2.0格式,这是一个业界广泛接受的XML标准。在Flowable术语中,我们将其称为一个流程定义(process definition)。一个流程定义可以启动多个流程实例(process instance)。流程定义可以看做是重复执行流程的蓝图。在这个例子中,流程定义定义了请假的各个步骤,而一个流程实例对应某个雇员提出的一个请假申请。
nginx的静动分离相关配置
nginx的静动分离 1:实验环境: 192.168.100.10 192.168.100.20 2:LAMP rpm 方式搭建 在100.20 主机上搭建 《1》:yum -y install httpd mariadb mariadb-devel mariadb-server php 安装依赖包 《2》:systemctl start httpd 启动服务 《3》:systemctl start mariadb 启动服务 《4》:vim /var/www/htm...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
电机转子静偏心与动偏心在Maxwell中的探索
静偏心是指转子几何中心与定子几何中心不重合,但转子旋转时,偏心方向固定不变。就好比转子在定子里“站歪了”,而且一直歪向同一个方向。
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
深度学习工具包 DeepLearningToolbox
深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[](https://bitdeli.com/free "Bitdeli Badge")
Paddle2.0:使用动转静完成模型部署
引入 动态图方便调试,静态图方便部署而且效率较高,各有各的优点 通过 Paddle2.0 的动转静功能,就能相对完美的兼顾这两者的优势 实现用动态图进行训练调试,训练完成后使用静态图模型进行部署 本文将通过一个实例来展示如何将一个动态图模型转换至静态图 并且通过导出的推理模型来完成模型的部署 并测试不同方式下的模型运行效率 动态图vs静态图 首先简单的介绍一下这两者的区别: 静态图:计算之前先构建计算图,然后按照计算图进行计算,运行效率高,但调试比较麻烦 动态图:计算的同时构建计算图,运行效率稍低,
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
动转静两大升级!一键转静成功率领先,重点模型训练提速18%+
目前主流深度学习框架支持的编程方式有两种,分别为动态图和静态图。动态图的Pythonic编程体验更佳、更易调试,但性能方面与静态图有一定差距。静态图先组网再执行,预先拥有完整网络结构,更利于全局优化,虽调试难度大,但执行性能更佳。百度飞桨采用动静统一的技术架构设计,提供了动转静(@to_static)模块功能,支持用户动态图编程,并可一键切换静态图训练和部署。2022年11月,飞桨框架 2.4...
C++多态性(静多态和动多态)
C++多态性 C++中的多态(虽然多态不是C++所特有的,但是C++中的多态确实是很特殊的)分为静多态和动多态(也就是静态绑定和动态绑定两种现象),静动的区别主要在于这种绑定发生在编译期还是运行期,发生在编译期的是静态绑定,也就是静多态;发生在运行期的则是动态绑定,也就是动多态。 静多态可以通过模板和函数重载来实现(之所说C++中的多态主要还是因为模板这个东西),下面举两个例子: ...
创世理论达成 静无与动无的定义及互毁的数学框架
1.静态绝对虚无(\mathscr{N}_-)数学本质:静无代表所有数学存在和逻辑的极致收缩。空集的自毁:通过幂集操作 \mathscr{P}^{\aleph_\omega}(\varnothing),空集被迭代到超穷基数 \aleph_\omega 级别,导致自指悖论(如罗素悖论),最终使集合论基础崩塌,数学结构坍缩到“无”。维度坍缩:所有维度(包括额外维度)被压缩到零维,即 \dim_H = 0,其中 \dim_H 是 Hausdorff 维度。逻辑冻结。
【云原生】Kubernetes部署Jenkins静动Slave
Kubernetes是一个开源的系统,用于自动化部署、扩展、以及容器化应用程序的管理。Kubernetes集群向Jenkins添加了一个新的自动化层。Kubernetes确保资源得到有效利用,并且您的服务器底层基础设施不会过载。Kubernetes编排容器部署的能力确保Jenkins始终具有适量的可用资源。Kubernetes集群上托管Jenkins有利于基于Kubernetes的把部署和基于容器的动态可扩展Jenkins代理。
叶片静频动频测试必要性
叶片振动,力学
NsightSystem工具在CUDA动转静性能分析中的应用
CUDA性能分析是深度学习模型优化的重要环节,NsightSystem作为NVIDIA官方工具,通过时间线可视化技术揭示GPU/CPU执行细节。其核心原理是捕获CUDA运行时事件和系统调用,帮助开发者识别计算密集型任务中的瓶颈。在动转静(Dynamic-to-Static)模型转换场景中,该工具能有效分析子图编译耗时、动态回退开销等关键指标。典型应用包括检测GPU利用率不足、优化多流并行执行、定位显存瓶颈等工程问题。结合NVTX标记技术,可精准关联Python代码与底层硬件活动,为Paddle等框架的动转静
C++中的静多态和动多态
C++中的多态,分为静多态(基于模版)和动多态(基于继承),如下总结摘自“C++ Templates 中文版”。
752
4776
3059

被折叠的 条评论
为什么被折叠?



