草庐IT

native-lib

全部标签

c++ - native-app 和 chrome-extension 之间的通信

我有一个用C++和一个chrome扩展程序编写的native应用程序。我正在使用“chrome原生消息”在它们之间进行通信。native应用程序代码:intmain(intargc,char*argv[]){unsignedinta,c,i,t=0;std::stringinp;do{inp="";t=0;//Sumthefirst4charsfromstdin(thelengthofthemessagepassed).for(i=0;i>0)&0xFF))>8)&0xFF))>16)&0xFF))>24)&0xFF));////Nowwecanoutputourmessagestd:

Android Native crash触发原理及处理

一、Nativecrash发生当程序执行以下操作,会触发nativecrash:1)程序自己调用abort()函数触发,用于表示出现严重的错误或异常情况,需要终止程序执行2)内存对齐错误或非法地址访问3)零除错误(除数为零),浮点溢出或下溢出等4)使用了非法的机器指令或指令参数不当而导致5)进程试图访问不允许访问的内存地址,例如访问已释放的内存,或者栈溢出等6)常见于协处理器栈错误或FPU错误7)进程试图执行未定义或不支持的系统调用8)程序的特定位置设置断点时会触发SIGTRAP信号当程序发生以上操作时,Linuxkernel将发送异常信号给信号处理程序。二、Nativecrash日志收集Na

c++ - Boost lib 链接器错误 Visual C++

我下载了Launchy的源代码并尝试在VisualStudio2005中构建它。Launchy项目是使用VC7构建的,因此我不得不将项目文件更新为VC8,并且该过程似乎进展顺利。但是,Launchy还使用Boost1.33.1库和我构建的是Boost1.41.0库(Boost的Prop,使更新的库更容易构建),所以我还更新了项目以指向我的新Boost库安装。现在我收到以下链接器错误:fatalerrorLNK1104:cannotopenfile'libboost_regex-vc80-mt-sgd-1_41.lib'我查看了Boostlib目录,我能找到的最接近的匹配是...libb

【问题解决】make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libopencv_XXX错误

记录一下使用ubuntu中的各种问题【问题详述】make[2]:***没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2.0”,由“/home/victor/cooperate/ur5_husky/devel/lib/libmoveit_lazy_free_space_updater.so.1.1.13”需求。停止。make[1]:***[CMakeFiles/Makefile2:26268:moveit/moveit_ros/perception/lazy_free_space_updater/CMakeFiles/mov

c++ - 编写后台应用程序时 Qt 与 native

我正准备用C++为我的MSc项目编写一个软件,我希望借此机会学习LinuxnativeAPI或QtAPI,我对这两者都很感兴趣,但是我不确定哪一个更合适。如果这个问题看起来很长、令人费解并且有些模棱两可,我很抱歉,但我担心如果我现在做出错误的决定,可能会破坏整个项目。我将要创建的应用程序几乎没有界面。它将和一个配置菜单、几个带进度条的对话通知用户正在发生的事情,以及一个使应用程序执行它的按钮。从长远来看,我打算在Windows、MacOS和Linux上部署这个应用程序,这个按钮在每个平台上都有不同的位置(Linux上的Gnome面板,Windows上的系统托盘,以及Mac上调用的任何面

Qt静态链接库(.lib .a)、动态链接库(.dll)创建和使用教程

1库介绍先对库进行介绍,后对Qt静态链接库(.lib.a)、动态链接库(.dll)进行创建和使用的介绍!库是什么库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:静态库是什么之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。因此对应的链接方式称为静态链接

c++ - DLL 项目不生成 .exp 和 .lib 文件

所以,我有一个包含3个项目(2个DLL和1个.exe)的C++解决方案。这是基本的依赖表示:应用程序-->DLL2应用程序-->DLL1DLL2-->DLL1我遇到的问题是DLL2(在构建它时)确实会生成.dll但不会生成.lib和.exp我需要在应用程序项目中正确引用DLL2。但是,DLL1确实会生成这些文件,而且我已经将DLL1的设置与DLL2的设置进行了比较,但我找不到可能存在的差异。 最佳答案 对此的简单解释是您只是忘记导出任何内容。如果没有导出,链接器将不会创建.lib/.exp文件。您可以通过在DLL上运行dumpbin

c++ - MSBuild:VS2010 中 native C++ 项目的 Custom.After.Microsoft.Common.targets

我读过“Custom.Before.Microsoft.Common.targets”和“Custom.After.Microsoft.Common.targets”的使用,以便在每个项目构建之前/之后执行自定义目标,我会喜欢在我们的TeamCity构建服务器上构建时使用此技术来更改版本信息。问题是,虽然它适用于C#项目,但它似乎不适用于nativeC++项目。在深入研究Microsoft.Cpp.targets文件后,我发现对于nativeC++项目,这似乎是通过设置$(ForceImportBeforeCppTargets)和$(ForceImportAfterCppTargets

c++ - 使用 boost lib 的更高精度 float (高于 16 位数字)

我正在运行物理实验模拟,因此我需要非常高的浮点精度(超过16位)。我使用Boost.Multiprecision,但是无论我尝试什么,我都无法获得高于16位的精度。我使用C++和eclipse编译器运行模拟,例如:#include#include#include#includeusingboost::multiprecision::cpp_dec_float_50;voidmain(){cpp_dec_float_50my_num=cpp_dec_float_50(0.123456789123456789123456789);std::cout.precision(std::numer

c++ - 使用 node-gyp 构建时无法加载 node.js native 插件,但使用 Visual Studio 构建时它可以工作

我已经为node.js编写了一个本地插件,使用没有node-gyp的MSVC++编译它,并在NodeREPL和应用程序中成功使用它。我正在使用x64Node并编译一个x64插件。我正在尝试使用node-gyp来构建它。我已经让node-gyp生成一个VisualStudio解决方案并编译它,但是出来的插件不起作用。我得到的唯一错误是:Error:Thespecifiedprocedurecouldnotbefound.atObject.Module._extensions..node(module.js:480:11)atModule.load(module.js:356:32)atF