python -m pip install scipy==1.2.1
refer to: https://blog.csdn.net/TeFuirnever/article/details/90760179
人,技术,生活。
python -m pip install scipy==1.2.1
refer to: https://blog.csdn.net/TeFuirnever/article/details/90760179
由于vc2013编译的openssl库用在vc2017的工程中会报LNK2019找不到___iob_func的错误,不得不重新在vc2017下编译openssl库,会到问题如下:
1 2 3 4 5 6 7 8 9 10 11 12 | # if defined(_MSC_VER) && !defined(_DLL) && defined(stdin) # if _MSC_VER>=1300 #if 0 // add here # undef stdin # undef stdout # undef stderr FILE *__iob_func(); # define stdin (&__iob_func()[0]) # define stdout (&__iob_func()[1]) # define stderr (&__iob_func()[2]) #endif // add here # elif defined(I_CAN_LIVE_WITH_LNK4049) |
也就是禁止它修改stdin之类的指向__iob_func。
注意,如果已执行了nmake,再改e_os.h,再nmake是不能自动解决依赖关系重编的。要么删掉openssl-1.0.1p目录,重新解压,要么执行
nmake -f ms\nt.mak clean
1 2 3 4 | perl Configure VC-WIN32 --prefix=d:\OpenSSL ms\do_nasm.bat nmake -f ms\nt.mak nmake -f ms\nt.mak install |
最终生成的库在d:\OpenSSL里。
项目属性->VC++目录->包含目录->编辑,在弹出的编辑对话框中,勾选“从父级或项目默认设置继承”复选框,确定保存,再重新编译。
在图形界面下打开一个终端,输入命令:
xwininfo -all
再点击想要查询的窗口,会打印很多信息,其中Window manager hints下会有Process id,用这个pid就可找到进程对应的执行文件路径。
-fprofile-arcs -ftest-coverage
ps aux | sort -k2rn | head -n 3
caffe gemv
https://blog.csdn.net/langb2014/article/details/50986678
sed
https://www.toutiao.com/a6738939489579696651/
grep
https://www.toutiao.com/a6738675495363150344/
lsof
lsof cc.txt 显示开启文件cc.txt的进程
lsof -i :22 知道22端口被哪个进程占用
lsof -c a.out 显示a.out进程现在打开的文件
lsof -g gid 显示归属gid的进程情况
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -p 12 看进程号为12的进程打开了哪些文件
lsof -u username 查看用户打开哪些文件
lsof -i @192.168.1.111 查看远程已打开的网络连接(连接到192.168.1.111)
lsof -i tcp@192.168.1.55 -r
fuser -k /mnt/test
umount /mnt/test
1 2 3 4 5 6 | ::chcp 65001 for /f "tokens=1,2 usebackq delims=." %%a in (`dir /o:n /b`) do ( if not "%%a.%%b" == "%%a." ( echo ^<%%a^>-[%%b] ) ) |
1 2 3 | body * { outline: 1px solid red } |
document.designMode='on'
VAR_A="hello, world, hello, me"
echo ${#VAR_A}
echo ${VAR_A:1:4}
echo ${VAR_A/hello/yes}
echo ${VAR_A//hello/yes}
# objdump -d c.elf | grep -A 2 function2
000084e8 <_Z9function2v>:
84e8: b580 push {r7, lr}
84ea: af00 add r7, sp, #0
# addr2line -e c.elf 84e8
testB/c.cpp:12
# nm c.elf | grep -Ei "function|main|globalvar"
00011028 D globalvar
U __libc_start_main@@GLIBC_2.4
00008500 T main
000084d0 T _Z9function1v
000084e8 T _Z9function2v
# nc 192.168.1.123 80
GET / HTTP/1.1
watch -d=cumulative 'ls -rtlh | tail'
exec 2>/tmp/run.log
exec 1>&2
set -x
for /r %i in (*.dll) do echo "%i"
出现这个问题,是由于libjpeg库的编译有问题,不要自已新建库工程一个个加jpeg-9c.zip里的文件,要按官方方法编译生成库,网上也有很多关于正确编库的说明,主要命令是
nmake nodebug=1 -f makefile.vc libjpeg.lib
记住nodebug版性能要好很多。另外,libjpeg读文件出异常就退出的问题参见:
编译jpeg-9c后得到libjpeg.lib,按照网上的例程,读jpg文件时,只要jpg文件有错误,libjpeg库的函数内部就直接调系统函数exit退出了,这在整合libjpeg库到大型程序里时是绝对不能允许的。仔细查看库里的libjpeg.txt,才知道原来libjpeg能自定义错误处理,例程在example.c文件里的read_JPEG_file。
以下是我整理好的集成接口:
ReadJpg.h
#pragma once HBITMAP readJpegAsBitmap(const char *fileName); |
ShellExecuteEx使用不当会造成系统运行越来越慢,比如,如果指定了SEE_MASK_NOCLOSEPROCESS隐码,而未关闭返回的进程句柄,就是不对的,这样反复调ShellExecuteEx的后果是系统越来越慢。
正确做法是调用系统函数CloseHandle关闭返回的进程句柄。
很有意思,我发现vs2013 mfc对话框中只要焦点在ip输入控件或编辑框控件上时,调用该对话框实例的DestroyWindow()函数,就会很有可能抛如下之类的异常:
First-chance exception at 0x6EC815AC (comctl32.dll) in MyApp.exe: 0xC0000005: Access violation reading location 0x08824FC0.
现在临时的解决办法是调用对话框实例的DestroyWindow之前,找一个对话框上的非输入控件对其调用SetFocus()。
原因是mso.dll库中的定义没导入,对于装的是Office 2013的环境,正确写法是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #import "C:\\Program Files (x86)\\Common Files\\microsoft shared\\OFFICE15\\MSO.DLL" rename("RGB", "MSRGB") using namespace Office; #import "C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB" raw_interfaces_only, \ rename("Reference", "ignorethis"), rename("VBE", "JOEVBE") using namespace VBIDE; #import "C:\\Program Files (x86)\\Microsoft Office\\Office15\\EXCEL.EXE" exclude("IFont", "IPicture") \ rename("RGB", "ignorethis"), rename("DialogBox", "ignorethis"), rename("VBE", "JOEVBE"), \ rename("ReplaceText", "JOEReplaceText"), rename("CopyFile","JOECopyFile"), \ rename("FindText", "JOEFindText"), rename("NoPrompt", "JOENoPrompt") using namespace Excel; #include "CApplication.h" #include "CWorkbooks.h" #include "CWorkbook.h" #include "CWorksheets.h" #include "CWorksheet.h" #include "CRange.h" #include "CFont0.h" //下面再写导出Excel文件的逻辑。 |
同时还要把这包含的Type Lib几个头文件的开头的import语句都删掉。
还要把CRange.h里的DialogBox函数注释掉。
就可以了。
还有,导出Excel文件用这种COM进程间通讯的方式最大缺点是慢,当导出条数很大时尤为明显,最好的方法是写一个C#子程序调npoi库。现在都是win7以上了,做成安装包时不需要要用户先安装.net framework之类的库。
refer to: http://blog.sina.com.cn/s/blog_7c5bff15010117cb.html
这个问题很无语,说一种原因,在用cmake写CMakeLists.txt编译live555时,
1 | project(Project01 CXX C) |
看见没?project关键字后少写了一个C,就不会编译纯C的代码。