qt调用MATLAB dll问题,调用mwarray就出现程序异常结束

本是想在qt下实现与MATLAB的混合编程,忽然发现我在qt下用mwarray函数就出现程序异常结束。构建能成功。
下面是我添加的库和目录

 INCLUDEPATH += D:\MATLAB\R2016a\extern\include
INCLUDEPATH += D:\MATLAB\R2016a\extern\include\win64

LIBS += -LD:\MATLAB\R2016a\extern\lib\win64\microsoft -llibmx
LIBS += -LD:\MATLAB\R2016a\extern\lib\win64\microsoft -llibmat
LIBS += -LD:\MATLAB\R2016a\extern\lib\win64\microsoft -lmclmcr
LIBS += -LD:\MATLAB\R2016a\extern\lib\win64\microsoft -lmclmcrrt
LIBS += -LD:\MATLAB\R2016a\extern\lib\win64\microsoft -llibeng

qt和MATLAB的环境配置

 D:\Qt\Qt5.6.2\5.6\msvc2013_64\bin;
d:\MATLAB\R2016a\runtime\win64;
d:\MATLAB\R2016a\bin;
d:\MATLAB\R2016a\polyspace\bin

2个回答

我刚刚解决了这个问题。
首先确定编译器,matlab用的是vc编译器,那么QT也得用msvc编译器。
第二,看下pro文件,就是楼上说的包含库文件和头文件。不能有空格,matlab装默认目录得,因为有空格可能会有问题。注意反斜杠。
第三查看系统变量。
第四是初始化问题,mwarray不要放在构造函数里边。
第五,得包含一个头文件,叫啥给忘了。回头看看。
我又想了想,你这应该就是没有包含头文件。如果pro出问题,编译不过

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
VS2017调用MATLAB2015的dll文件出错
求助大神!我现在做C#和matlab的混合编程,按博客里面对方法调用matlab文件后, 运行时提示“MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。”还有”DllNotFoundException: 无法加载 DLL“mclmcrrt9_0.dll”: 找不到指定的模块。” MWCharArray filepath ="C:\\Users\\parter\\Desktop\\G12508\\7.15.xlsx"; BS1.Class1 c = new Class1(); MWNumericArray id1= null; id1 = (MWNumericArray)c.BS1(filepath); double[,] l1 = (double[,])id1.ToArray(MWArrayComponent.Real); 程序如上,错误提示在第一行。我试过直接添加引用matlab runtime里的mclmcrrt9_0.dll但显示错误无法添加。请问这个问题要怎么解决呢?
vs2010 调用MATLAB2014b 的NET Assembly 报错
用matlab2014b 写好m文件用打包为NET Assembly 程序集,选择是Framework4.0 编译没有问题,用VS2010 的win32 控制台程序 调用也没有问题,但是用VS2010的 webapplication 调用就报如下错误: [BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)] MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) +0 MathWorks.MATLAB.NET.Arrays.MWArray..cctor() +560 [TypeInitializationException: “MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。] MathWorks.MATLAB.NET.Utility.MWMCR..cctor() +1824 [TypeInitializationException: “MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。] databaseTest.FinanceCurrentValue..cctor() +0 [TypeInitializationException: “databaseTest.FinanceCurrentValue”的类型初始值设定项引发异常。] 代码如下 using MathWorks.MATLAB.NET.Arrays; //MATLAB提供的MWArray.dll using databaseTest;//自己编译的databaseTest.dll //调用程序 protected void Button1_Click(object sender, EventArgs e) { Response.Write("开始测试"); FinanceCurrentValue finc = new FinanceCurrentValue(); MWArray mw1 = (MWNumericArray) 1; } 按照网上提供的解决方案,修改build 的目标和配置管理的为x64 或者是Any Cpu ,仍然报上面的错误,MCR我已经装过了,环境 变量 也已经配置了。
C#调用自己打包的dll出现找不到指定的程序问题
大家好,最近用C#调用Matlab,尝试过简单的函数调用没问题(比如sqrt函数),一涉及到下面这两个复杂的函数就出问题,想了好久也没解决,请各位高手指教。VS是2010,Matlab是2013a 这是我的C#代码: double q = 5; double p = 4; MWArray qMat = (MWArray)q; MWArray pMat = (MWArray)p; Test output1 = new Test(); output1.Q(qMat, pMat); Test是类,Q是一个函数。 这是Q函数: function fff=Q(q,pw) arrayfun(@(xx)fsolve(@(x)zdwQ(x,xx),q),pw) end 这是zdwQ函数: function ff=zdwQ(q1,pw) pe=10;a=0.96;b=200;xf=60;k=1;h=10;Re=500;u=1;kexi=log(2*Re/xf);wf=2e-3;rw=0.1;kf=1000; g=@(beta)((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1+sqrt((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1).^2+4*a)/(2*b))); ff=pe-pw-quadl(@(beta)g(beta),0,kexi)-q1*(u*(xf-h/2)/(2*kf*wf*h)+u/(2*pi*kf*wf)*log(h/2*rw)); end 这是出错的信息: csrot 找不到指定的程序 然后是异常:... MWMCR::EvaluateFunction error ... csrot.
c#调用matlab引擎画图遇到MWNumericArray的类型初始值设定项引发异常的问题
private void button2_Click(object sender, EventArgs e) { IntPtr engine; engine = matlabClass.engOpen(null); MWArray []Y=new MWArray[120000]; MWNumericArray plotValue = new MWNumericArray(MWArrayComplexity.Real, 1, 120000); int k; double[] m = new double[120000]; object[]n=new object[120000]; for (k = 0; k < 120000; k++) { n[k] = dataGridView1.Rows[k].Cells[0].Value; m[k] = double.Parse(n[k].ToString()); } for (k = 1; k < 120000; k++) { plotValue[1,k+1] = m[k]; } matlabClass.engSetVisible(engine, false); matlabClass.engEvalString(engine,"X=1:120000;Y=1:120000;plot(X,Y)"); matlabClass.engClose(engine); } ``` 最近用c#写调用matlab的plot函数画图,我是用的visualstudio2010和matlab2017a,遇到一个很久没有解决的问题。 ```未处理 System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWNumericArray StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray..ctor(MWArrayComplexity complexity, Int32[] dimensions) 在 转子系统故障诊断.Form1.button2_Click(Object sender, EventArgs e) 位置 F:\转子系统故障诊断\转子系统故障诊断\Form1.cs:行号 134 在 System.Windows.Forms.Control.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.ButtonBase.WndProc(Message& m) 在 System.Windows.Forms.Button.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 在 转子系统故障诊断.Program.Main() 位置 F:\转子系统故障诊断\转子系统故障诊断\Program.cs:行号 18 InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWArray StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray.get__Inf() 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray..cctor() InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Utility.MWMCR StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWArray..cctor() InnerException: HResult=-2146233088 Message=Trouble initializing libraries required by .NET Assembly. Source=MWArray ``` ``` ``` ``` StackTrace: 在 MathWorks.MATLAB.NET.Utility.MWMCR..cctor() InnerException: 环境变量改过了,MCR也卸了装了好几次,目标平台是64位的,应该也没有问题,真不知道问题在哪里,感觉自己都要哭了。![图片说明](https://img-ask.csdn.net/upload/201907/27/1564207055_428476.png)![图片说明](https://img-ask.csdn.net/upload/201907/27/1564207065_980095.png) 数据是复制到dataGridview然后从里面获取的
C#调用matlab 类型初始值设定项引发异常,求教各位大神啊!
未处理System.TypeInitializationException HResult=-2146233036 Message=“Test1.test1class”的类型初始值设定项引发异常。 Source=Test1 TypeName=Test1.test1class StackTrace: 在 Test1.test1class..ctor() 在 TestAplication.Program.Main(String[] args) 位置 c:\Users\Administrator.20160228-095303\Documents\Visual Studio 2012\Projects\TestAplication\TestAplication\Program.cs:行号 30 InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。 Source=Test1 TypeName=MathWorks.MATLAB.NET.Utility.MWMCR StackTrace: 在 Test1.test1class..cctor() InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWArray StackTrace: 在 MathWorks.MATLAB.NET.Utility.MWMCR..cctor() InnerException: System.BadImageFormatException HResult=-2147024885 Message=试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B) Source=MWArray StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) 在 MathWorks.MATLAB.NET.Arrays.MWArray..cctor() InnerException:
C# 调用matlab regress 函数报错
今天研究C# 调用 matlab 编译的动态库,在将简单加法运算在C# 中调用成功后,满怀开心的心情进一步的调用matlab中regress 函数,结果灾难的报错了,经过半天的奋斗各种百度,谷歌,未能找到解决方案。 .m文件如下: ``` function c = MtRegress( y,x ) r=x'; t=y'; c=regress( t,r ); end ``` c# 如下: ``` MatClass matClass = new MatClass(); MWNumericArray x = new double[] { 1, 2, 3, 4, 5, 6 }; MWNumericArray y = new double[] { 1, 3, 4, 10, 20, 30 }; var data = matClass.MtRegress(y, x); ``` 报错如下: “System.Exception”类型的未经处理的异常在 MWArray.dll 中发生 其他信息: ... MWMCR::EvaluateFunction error ... 未定义与 'double' 类型的输入参数相对应的函数 'regress'。 Error in => MtRegress.m at line 6. ... Matlab M-code Stack Trace ... at file C:\Users\ADMINI~1\AppData\Local\Temp\Administrator\mcrCache8.3\MatLib0\MatLib\MtRegress.m, name MtRegress, line 6. 求大神给出解决方案!
VS2010调用matlab生成的dll, 头文件里面只有对C_API,没有对CPP_API的声明?
想要的是这种声明:extern LIB_mysvd_CPP_API void MW_CALL_CONV mysvd(int nargout, mwArray& s, mwArray& v, mwArray& d, const mwArray& a); 编译出来的是这种声明:extern LIB_mysvd_C_API void MW_CALL_CONV mlfMysvd(int nargout, mxArray** s, mxArray** v, mxArray** d, const mxArray* a); ifdef __cplusplus
matlab和c++混合编程,出现异常
我用matlab编译了dll动态链接,环境也都配置好了,库也都加载好了,vs2010的环境。 现在编译也能成功,但是exe异常报错,目测是只要生命了mwArray,就会出现问题。求助大神。。![图片说明](https://img-ask.csdn.net/upload/201609/17/1474086509_963702.png)
Qt Creator + matlab 混合编程处理肌电信号
最近在做有关肌电方面的项目,通过两个传感器分别获取面部左右咬合肌的肌电信号,目前卡在信号降噪这个步骤上了。。 因为信号是通过qt获取的,打算将获取到的信号传入Matlab中,通过matlab程序进行降噪处理后再传回qt creator中。 **第一个小疑问:** ``` extern LIB_denoising_CPP_API void MW_CALL_CONV denoising(int nargout, mwArray& denoi_signal, const mwArray& signal); ``` qt中实时获取的肌电信号是存在QList中的。denoising函数即为Matlab中的降噪函数,denoi_signal和signal分别为处理后传出至qt中的信号和从qt中传入的处理前的信号。但是 denoi_signal 传回时为mwArray格式,有没有什么办法可以将其转为原始信号的QList格式? **第二个小疑问:** 如果不能转为QList格式的话,可不可以将qt获取到的信号值一个一个传至matlab?但是我用的小波降噪函数wden, ``` denoi_signal = wden(signal, 'minimaxi', 's', 'mln', 5, 'sym9'); ``` 其传入的参数signal为一段信号值而不是一个值,那我如果一个一个值传入matlab的话是不是就没有办法进行降噪处理了。。 跪求大佬解答。。自己摸索了好几天了实在是想不出什么方法。。 没有币还望大佬能解答一下TAT...
求助:VS2010调用matlab程序,结果总是与实际不符合!
环境:VS2010 MATLAB2014a matlab代码: ``` function y = hello(address) char a a = 'abc'; char b b = address; if strcmp(a,b) y = 1; else y = 0; end end ``` VS代码: ``` void CdemoDlg::OnBnClickedButton1() { CString address; CString s; int result; GetDlgItemText(IDC_EDIT1,address); if (!HELLOInitialize()){ s = "未连接"; AfxMessageBox(s); } mwArray a(address);//字符串赋值 mwArray b(1, 1, mxDOUBLE_CLASS); hello(1,b,a); result = b(1); s.Format(_T("%d"),result);//整型转字符 AfxMessageBox(s); HELLOTerminate(); } ``` 在IDC_EDIT1中无论输入什么,最后结果总是0,为什么?哪里有问题呢?求解释?
Unity3d和matlab联合使用初始化报错
测试在C# 3.5 .net上可以使用,但是在unity3d内就一直初始化报错。。。 下面是错误代码 Unity版本是5.5 NotImplementedException: The requested feature is not implemented. System.Security.Principal.WindowsIdentity.GetCurrent (Boolean ifImpersonating) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Security.Principal/WindowsIdentity.cs:166) MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction (System.String functionName, Int32 numArgsOut, Int32 numArgsIn, MathWorks.MATLAB.NET.Arrays.MWArray[] argsIn) MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction (Int32 numArgsOut, System.String functionName, MathWorks.MATLAB.NET.Arrays.MWArray[] argsIn) MathWorks.MATLAB.NET.Utility.MWMCR.setBuilderUserData () MathWorks.MATLAB.NET.Utility.MWMCR..ctor (System.String componentId, System.String componentPath, System.IO.Stream embeddedCtfStream, Boolean isLibrary) tracker_run.Tracker..cctor () Rethrow as Exception: MWArray assembly failed to be initialized tracker_run.Tracker..ctor () Test.Start () (at Assets/Scripts/Test.cs:9)
matlabR2017b和VS2012混合编程,找不到关于C#的编译器?
最近安装了matlabR2017b,vs2012是原有的,安装后输入mbuid -setup,没有关于 C#的编译器,只有关于C++的,如果直接用Library Compiler编译的话,在C#中调用出现问题,我的MWarray.dll版本是4.0的,网上教程是2.0,不知道是不是这个问题?求大佬相助! ![图片说明](https://img-ask.csdn.net/upload/201808/13/1534153881_550231.png)
求助,matlab与c++混编,matlab无错,混编报错
各位大神,本人最近在做老师给的一个混编的项目。matlab的库已经生成好了,其他好几个程序的混编工作也结束了,但是这个程序就是搞不定。matlab里已经调试很好了,一切正常,但是生成的库在c++中运行就报错 ![图片说明](https://img-ask.csdn.net/upload/201511/13/1447386159_977866.png) 错误如图,这是我的c代码: CImage imgin; CImage imgout; imgin.Load(_T("test.bmp")); int pit = imgin.GetPitch(); int h = imgin.GetHeight(); int w = imgin.GetWidth(); unsigned char* pImgin = (unsigned char*)imgin.GetPixelAddress(0,h-1); imgout.Create(w,h,8); unsigned char* pImgout = (unsigned char*)imgout.GetPixelAddress(0,h-1); // 创建输入mx字符串数组 mwArray DataIn(w,h,mxUINT8_CLASS); mwArray DataOut(w,h,mxUINT8_CLASS); mwArray W(1,1,mxDOUBLE_CLASS); mwArray H(1,1,mxDOUBLE_CLASS); DataIn.SetData((mxUint8*)pImgin,w*h); W.SetData(&w,1); H.SetData(&h,1); // 调用演示函数 test_fourier(1,DataOut,DataIn); DataOut.GetData((mxUint8*)pImgout,w*h);//这行报错,不过应该是上一行调用失败的原因。 PaletteChangedToGray(&imgout); imgout.Save(_T("out.bmp")); matlab出错的地方 border_restored = zeros(size(image_edged)); xx=real(border_ifft);yy=imag(border_ifft); yyt=floor(yy);xxt=floor(xx); if(length(xxt)==0) return ; end hind=sub2ind(size(border_restored),yyt,xxt);//应该是这一行的原因。 border_restored(round(hind))=1; 请教各位大神有没有人知道这个原因。谢谢了
vs2010与matlab混合编程问题
m文件里所写函数,我想实现的就是vs只调用输出部分,因为输入部分是写在m文件里的 function c=selfadd() a=5; b=6; c=11; end vs部分程序如下: mwArray c(1,1,mxDOUBLE_CLASS); selfadd(1,c); double cx; cx=c(1,1); CString str; str.Format("%d",cx); MessageBox(str); 结果运行之后,cx值为0。不知道为什么,哪个地方出现问题。求大神帮下忙,小弟菜鸟一枚,不胜感激
vs2010 matlab2012b 混编问题请教
各位大牛: 近期在做一个 VS2010调用 matlab2012B 产生的C++文件的事情,但一直搞不定,能否指点一下,不胜感激! 环境 VS2010 管理器设置 debugX64 调用 matlab2012B 64位, 1、用matlab 编 my_plot.m文件 function [x]=my_plot(A,B) x=A+B; plot(A,B,'-r'); 2 mcc -W cpplib:my_plot -T link:lib my_plot.m 通过产生 my_plot.dll my_plot.h my_plot.lib 3、打开Vs2010 建立空窗体工程,管理器设置X64 编译运行通过 4、工程中加入相关matlab调用语句如下 #include "stdafx.h" #include "Form1.h" #include "my_plot.h" #include "mclcppclass.h" #include "mclmcrrt.h" #pragma comment(lib,"mclmcrrt.lib") #pragma comment(lib,"my_plot.lib") using namespace chuang; [STAThreadAttribute] int main(array<System::String ^> ^args) { mwArray mwX(1,11,mxDOUBLE_CLASS); mwArray mwY(1,11,mxDOUBLE_CLASS); mwArray mwZ(1,11,mxDOUBLE_CLASS);; int i; double x[1][11],y[1][11]; Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); if (!my_plotInitialize()) return -1; for(i=0; i<11; i++) { x[1][i] = i; y[1][i] = sin(x[1][i]); } mwX.SetData(*x, 11); mwY.SetData(*y, 11); // mwZ.SetData(*y, 11); my_plot(1,mwZ,mwX,mwY); //调Ì¡Â用®?my_plot my_plotTerminate(); Application::Run(gcnew Form1()); return 0; } 环境变量 Path D:\Program Files\MATLAB\R2012b\bin\win64;D:\Program Files\MATLAB\R2012b\bin 包含目录 D:\Program Files\MATLAB\R2012b\extern\include; D:\Program Files\MATLAB\R2012b\extern\include\win64;$(IncludePath) 库目录 D:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft; $(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64; 附加包含目录 D:\Program Files\MATLAB\R2012b\extern\include; D:\Program Files\MATLAB\R2012b\extern\include\win64;%(AdditionalIncludeDirectories) 编译报错: 1> 所有输出均为最新。 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclGetMatrix_proxy(void * *,unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (?mclGetMatrix_proxy@@$$J0YMHPEAPEAX_K1W4mxClassID@@W4mxComplexity@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPEAPEAXPEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z) 生成 p/invoke;元数据中缺少调用约定 @Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2028: 无法解析的标记(0A00003F) "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z),该标记在函数 "public: void __clrcall mwArray::SetData(double *,unsigned __int64)" (?SetData@mwArray@@$$FQEAMXPEAN_K@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A0000E9) "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A0000FA) "extern "C" int __clrcall mclGetMatrix_proxy(void * *,unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (?mclGetMatrix_proxy@@$$J0YMHPEAPEAX_K1W4mxClassID@@W4mxComplexity@@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (??0mwArray@@$$FQEAM@_K0W4mxClassID@@W4mxComplexity@@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A00010E) "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z),该标记在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000110) "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000111) "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPEAPEAXPEBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000115) "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z),该标记在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000116) "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z),该标记在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000117) "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该标记在函数 "public: virtual __clrcall mwArray::~mwArray(void)" (??1mwArray@@$$FUEAM@XZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000118) "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该标记在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000119) "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z),该标记在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z),该符号在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该符号在函数 "public: virtual __clrcall mwArray::~mwArray(void)" (??1mwArray@@$$FUEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z),该符号在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该符号在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z),该符号在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z),该符号在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z),该符号在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z),该符号在函数 "public: void __clrcall mwArray::SetData(double *,unsigned __int64)" (?SetData@mwArray@@$$FQEAMXPEAN_K@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z),该符号在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 ing@@$$FQEAM@AEBV0@@Z) 中被引用 @@$$FQEAM@_K0W4mxClassID@@W4mxComplexity@@@Z) 中被引用 1>E:\mat-vcc-test\chuang\x64\Debug\chuang.exe : fatal error LNK1120: 22 个无法解析的外部命令 1>
mfc+MATLAB+opencv出现内存泄露问题
我的程序这么多的内存泄露,但是不知道具体是哪的原因,我想做的是vs与MATLAB混合编程实现图像处理。 Detected memory leaks! Dumping objects -> {301} normal block at 0x007DC1F8, 47 bytes long. Data: <JPEG-2000 Code S> 4A 50 45 47 2D 32 30 30 30 20 43 6F 64 65 20 53 这是vc++程序 void CMFCApplication17Dlg::OnClickedButton5() { { // TODO: Add your control notification handler code here //CFileDialog fDlg(TRUE,"bmp","*.bmp",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, //"原始图像(*.bmp)|*.bmp|所有文件(*.*)|*.*||",NULL); //if (fDlg.DoModal() == TRUE) //{ //Open_Filename = fDlg.GetFileName(); IplImage *image=NULL; if(image) cvReleaseImage(&image); image = cvLoadImage("H:\\lena.bmp",1); if (image==0) MessageBox("Reading Failed"); else DrawPicToHDC(image, IDC_showimage); cvReleaseImage(&image); } } //} void CMFCApplication17Dlg::DrawPicToHDC(IplImage *img, UINT ID) { CDC *pDC = GetDlgItem(ID)->GetDC(); HDC hDC= pDC->GetSafeHdc(); CRect rect; CWnd * pWnd; pWnd=GetDlgItem(ID); pWnd->SetWindowPos( NULL,0,0,img->width,img->height,SWP_NOZORDER | SWP_NOMOVE ); pWnd->GetClientRect(&rect); CvvImage cimg; cimg.CopyOf(img); cimg.DrawToHDC(hDC,&rect); ReleaseDC(pDC); } void CMFCApplication17Dlg::OnClickedButton1() { if( !lvboInitialize()) { printf("Could not initialize !"); return ; } _CrtDumpMemoryLeaks(); IplImage *image=NULL; if(image) cvReleaseImage(&image); image = cvLoadImage("H:\\lena.bmp",1); if (image==0) MessageBox("Reading Failed"); mwArray mwdisp(image->height*image->width,mxUINT8_CLASS); IplImage* pTemp = cvCreateImage(cvSize(image->height, image->width), IPL_DEPTH_8U, 1); //n*m创建图像 cvTranspose(image, pTemp);//m*n->n*m,复制image中的数据到ptemp中 CvMat* pMat = cvCreateMat(image->height, image->width, CV_8UC1);//pmat:n*m分配矩阵空间 cvConvert(pTemp, pMat);//pmat:n*m,将图像转化为矩阵,任意类型数据的矩阵 mwdisp.SetData(pMat->data.ptr, pMat->height*pMat->width); cvReleaseMat(&pMat); mwArray ImageData(image->height,image->width ,mxDOUBLE_CLASS); cvReleaseImage( &pTemp ); shiyan2(1,ImageData,mwdisp); IplImage* pTempL0 = cvCreateImage(cvSize(image->height, image->width), IPL_DEPTH_64F, 1); //n*m CvMat* pMatL0 = cvCreateMat(pTempL0->height, pTempL0->width, CV_64FC1);//n*m ImageData.GetData(pMatL0->data.db,pMatL0->height*pMatL0->width); cvConvert(pMatL0,pTempL0);//mat->iplimage cvReleaseMat(&pMatL0); IplImage* pL0SmoothImg =cvCreateImage(CvSize(cvGetSize(image)),IPL_DEPTH_64F,1);//m*n cvTranspose(pTempL0, pL0SmoothImg); //n*m->m*n cvReleaseImage( &pTempL0 ); IplImage* result =cvCreateImage(CvSize(cvGetSize(image)),IPL_DEPTH_8U,1); cvReleaseImage( &image ); double minVal; double maxVal; cvMinMaxLoc(pL0SmoothImg, &minVal, &maxVal); printf("%f ",minVal); printf("%f",maxVal); // Normalize image (0 - 255) to be observed as an u8 image double scale = 255/(maxVal - minVal); double shift = -minVal * scale; cvConvertScale(pL0SmoothImg,result,scale,shift);// cvNamedWindow("去噪后图像",CV_WINDOW_AUTOSIZE); cvShowImage("去噪后图像",image); cvWaitKey(0); DrawPicToHDC(image, IDC_showimage2); //cvReleaseMat(&pMat); cvReleaseImage( &pL0SmoothImg); cvReleaseImage( &result ); lvboTerminate(); } 下面是配置生成的MATLAB程序 function h=lvboshibie(a) %a=imread('lena.bmp'); %figure;imshow(a); %title('原图像'); a=im2double(a);%将数变为double型数 d=100.*a;%求出估计的灰度时用数据 b=imnoise(a,'gaussian',0.015); C=im2double(b); b=im2col(C,[3,3],'distinct');%将加躁图像分割成3*3的小窗口 [i,j]=size(b); m=zeros(i,j); n=size(i,j); for i=1:9 for j=1:5180 m(i,j)=b(i,j)-b(5,j);%用3*3的窗口中的中心值对窗口中的数据求出估计的受躁程度 m(5,j)=0.001; n(i,j)=m(i,j)./b(5,j); end end %为用accumarray函数把数据变回原来的排列方式做准备 %制造c矩阵 K=[1 1 0;1 2 0;1 3 0;2 1 0;2 2 0;2 3 0;3 1 0;3 2 0;3 3 0]; A=K; for ii=1:5179; A=[A;K]; end g=zeros(1,5180); b=[1:5180]; b=[g,g,b]; b=[b;b;b;b;b;b;b;b;b]; b=reshape(b,[46620,3]); c=A+b; val=reshape(n,[46620,1]); A=accumarray(c,val);%使用此函数把原来用im2col变成9*5180的矩阵变为一个个3*3的小矩阵 D=reshape(A,[3,15540]); %将矩阵变为原来的222*210的形式 M = []; B=[]; for i = 1:3:15538 temp=D(:,i:i+2); M = [M; temp]; % 使矩阵变为15540*3 end for j=1:222:15539 TEMP=M(j:j+221,:); B = [B, TEMP]; % 使矩阵变为220*210 end %使矩阵为222*208 B=B(1:222,1:208); E=B+100; r=d./E; e=im2uint8(r); f=im2uint8(a); [m,n]=size(e); for i=1:m for j=1:n if (e(i,j)>=0)&&(e(i,j)<=50) u=23; q=23/3; v(i,j)=e(i,j)-u; V(1)=2*q^2; elseif (e(i,j)>=51)&&(e(i,j)<=100) u=83; q=47/3; v(i,j)=e(i,j)-u; V(2)=2*q^2; else u=117; q=138/3; v(i,j)=e(i,j)-u; V(3)=2*q^2; end end end v=im2double(v); Q=v.^2; for i=1:m for j=1:n if (e(i,j)>=0)&&(e(i,j)<=50) H(i,j)=im2double(Q(i,j)/V(1)); N(i,j)=exp(-H(i,j)); elseif (e(i,j)>=51)&&(e(i,j)<=100) H(i,j)=im2double(Q(i,j)/V(2)); N(i,j)=exp(-H(i,j)); else H(i,j)=im2double(Q(i,j)/V(3)); N(i,j)=exp(-H(i,j)); end end end s=ones(224,210); l=s*26; l(2:223,2:209)=e; o=zeros(224,210); o(2:223,2:209)=N; [m,n]=find(l<=25); q=size(m); for i=1:q x(m(i),n(i))=l(m(i)-1,n(i)-1)*o(m(i)-1,n(i)-1)+l(m(i)-1,n(i))*o(m(i)-1,n(i))+l(m(i)-1,n(i)+1)*o(m(i)-1,n(i)+1)+l(m(i),n(i)-1)*o(m(i),n(i)-1)+l(m(i),n(i))*o(m(i),n(i))+l(m(i),n(i)+1)*o(m(i),n(i)+1)+l(m(i)+1,n(i)-1)*o(m(i),n(i)-1)+l(m(i)+1,n(i))*o(m(i)+1,n(i))+l(m(i)+1,n(i)+1)*o(m(i)+1,n(i)+1); y(m(i),n(i))=o(m(i)+1,n(i))+o(m(i),n(i))+o(m(i)-1,n(i))+o(m(i)+1,n(i)-1)+o(m(i)-1,n(i)-1)+o(m(i),n(i)-1)+o(m(i)-1,n(i)+1)+o(m(i),n(i)+1)+o(m(i)+1,n(i)+1); l(m(i),n(i))=x(m(i),n(i))/y(m(i),n(i)); end h=l(2:223,2:209); h=round(h); %figure,imshow(h,[]); %title('第二次去噪效果'); end 不知道到底是哪的问题,还请大家帮帮忙,先谢谢了。
异常 settings::core::exception::NoSuchKey。
环境:VS2010 matlab2016a 代码如下 ``` void ChelloDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 int a1 = 1 ; int b1,num; b1 = GetDlgItemInt(IDC_EDIT2); //matlab 调用函数方法 //激活matlab if(!calculateInitialize()) a1 = 2; //引起中断 mwArray a(1, 1, mxINT32_CLASS); mwArray b(1, 1, mxINT32_CLASS); mwArray c(1, 1, mxINT32_CLASS); a.SetData(&a1,1); b.SetData(&b1,1); calculate(1,c,a,b); num = c.Get(1,1); //终止matlab //calculateTerminate(); SetDlgItemInt(IDC_EDIT1,num); } ``` 运行到calculateInitialize()时,就报错。 【hello.exe 中的 0x00007ff9dac98e6c 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0df1ee30 处的 settings::core::exception::NoSuchKey】 请问是什么原因呢?十分感谢~~~~
vs与MATLAB混合编程实现图像处理
我想要vs与MATLAB混合编程实现图像处理的可视化界面,调用的shiyan1的程序后为什么不会显示图像呢?我不知道到底是哪里出问题了,运行程序不显示哪里有错误就是不会显示图像,望大家帮帮我,谢谢了。下面是我的程序: void CMFCApplication17Dlg::OnClickedButton1() { if( !lvboInitialize()) { printf("Could not initialize !"); return ; } IplImage *image=NULL; if(image) cvReleaseImage(&image); image = cvLoadImage("H:\\lena.bmp",1); if (image==0) MessageBox("Reading Failed"); mwArray mwdisp(image->height*image->width,mxUINT8_CLASS); IplImage* pTemp = cvCreateImage(cvSize(image->height, image->width), IPL_DEPTH_8U, 1); //n*m创建图像 cvTranspose(image, pTemp);//m*n->n*m,复制image中的数据到ptemp中 CvMat* pMat = cvCreateMat(image->height, image->width, CV_8UC1);//pmat:n*m分配矩阵空间 cvConvert(pTemp, pMat);//pmat:n*m,将图像转化为矩阵,任意类型数据的矩阵 mwdisp.SetData(pMat->data.ptr, pMat->height*pMat->width); mwArray ImageData(image->height,image->width ,mxDOUBLE_CLASS); cvReleaseImage( &pTemp ); shiyan1(1,ImageData,mwdisp); IplImage* pTempL0 = cvCreateImage(cvSize(image->height, image->width), IPL_DEPTH_64F, 1); //n*m CvMat* pMatL0 = cvCreateMat(pTempL0->height, pTempL0->width, CV_64FC1);//n*m ImageData.GetData(pMatL0->data.db,pMatL0->height*pMatL0->width); cvConvert(pMatL0,pTempL0);//mat->iplimage IplImage* pL0SmoothImg =cvCreateImage(CvSize(cvGetSize(image)),IPL_DEPTH_64F,1);//m*n cvCopy(pTempL0, pL0SmoothImg); //n*m->m*n IplImage* result =cvCreateImage(CvSize(cvGetSize(image)),IPL_DEPTH_8U,1); double minVal; double maxVal; cvMinMaxLoc(pL0SmoothImg, &minVal, &maxVal); printf("%f ",minVal); printf("%f",maxVal); // Normalize image (0 - 255) to be observed as an u8 image double scale = 255/(maxVal - minVal); double shift = -minVal * scale; cvConvertScale(pL0SmoothImg,result,scale,shift);// cvNamedWindow("去噪后图像",CV_WINDOW_AUTOSIZE); cvShowImage("去噪后图像",image); cvWaitKey(0); DrawPicToHDC(image, IDC_showimage2); cvReleaseImage( &pTempL0 ); cvReleaseImage( &pL0SmoothImg); cvReleaseImage( &result ); lvboTerminate(); }
0xC0000005: 执行位置 0x00000000 时发生访问冲突。
我做的是MATLAB与vs混合编程,出现现在的问题不知道是哪的问题,请大神指教。我想看一下调用完MATLAB中的程序后生成的数据是否正确代码如下: #include "stdafx.h" #include"cv.h" #include"highgui.h" #include <iostream> #include "lvbo.h" #include "CvvImage.h" using namespace std; int main() { IplImage* image = cvLoadImage( "H:\lena.bmp", 0 ); mwArray mwdisp(image->height,image->width,mxUINT8_CLASS); IplImage* pTemp = cvCreateImage(cvSize(image->height, image->width), IPL_DEPTH_8U, 1); //n*m创建图像 cvTranspose(image, pTemp);//m*n->n*m,复制image中的数据到ptemp中 CvMat* pMat = cvCreateMat(image->height, image->width, CV_8UC1);//pmat:n*m分配矩阵空间 cvConvert(image, pMat);//pmat:n*m,将图像转化为矩阵,任意类型数据的矩阵 mwdisp.SetData(pMat->data.ptr, pMat->height*pMat->width); mwArray ImageData(image->height,image->width ,mxDOUBLE_CLASS); shiyan1(1,ImageData,mwdisp); double *yData=(double *)malloc(image->height*image->width); if(yData==NULL) { printf("failed to allocate memory for y"); return 0; } ImageData.GetData(yData, image->height*image->width); int width=image->width;//图片宽度 int height = image->height;//图片高度 for (size_t row=0;row<height;row++) { //uchar* ptr = (uchar*)pMatL0->data.db+row*image->width;//获得灰度值数据指针 for (size_t cols=0;cols<width;cols++) { int intensity=yData[row*image->width+cols]; cout<<intensity<<" "; } } free(yData); getchar(); return 0; }
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问