-
编译某代码,发现报错某函数未定义的引用。该函数的是先前编译得到的动态库中。 先去check了该函数的实现,还有接口与头文件中的声明是否统一。发现没有问题。 然后怀疑.cpp文件没有被编译到,于是在该函数中添加 #pragma message("******************************8") 发现的确被编译到了。 使用nm来查看动态库中的符号表,发现也可以找到这个函数的符号。 于是怀疑编译代码的时候没有链接到该动态库。 于是在make的时候打印详细信息。make VERBOSE=1 发现也的确链接了动态库.... 见鬼了Orz 然后用readelf -s 来查看动态库,惊讶得发现要找的那个符号 …
Read More -
import os import math ave_err=0.0 max_err=0.0 max_err_rate=0.0 length=0 with open("cpu_result.txt","r") as fp1, open("cuda_ppl_result.txt","r") as fp2: for l1 in fp1: l2 = fp2.readline() l1=l1[:-2] l2=l2[:-2] lst = l1.split(' ') lst2 = l2.split(' ') #print lst lst = [float(x) for …
Read More -
C++11 std::function 是一种通用、多态的函数封装,它的实例可以对任何可 以调用的目标实体进行存储、复制和调用操作 见下面的例子 1 /* *********************************************** 2Author :111qqz 3mail: renkuanze@sensetime.com 4Created Time :2018年07月19日 星期四 17时41分00秒 5File Name :bind.cpp 6************************************************ */ 7 #include <functional>8 …
Read More -
tbb是**Threading Building Blocks library的缩写,**是一个为开发者提供并行解决方案的库. 先放个文档https://www.threadingbuildingblocks.org/intel-tbb-tutorial 再放一个代码示例: /* *********************************************** Author :111qqz mail: renkuanze@sensetime.com Created Time :2018年07月18日 星期三 14时20分54秒 File Name :parallel_for.cpp …
Read More -
以前用的办法太老土啦 看到一个since C++11的方法,我觉得比较优雅 1 #include <iostream>2 #include <chrono>3 //#include <ratio> 4 #include <thread>5 6 void f() 7 { 8 std::this_thread::sleep_for(std::chrono::seconds(1)); 9 } 10 11 int main() 12 { 13 auto t1 = std::chrono::high_resolution_clock::now(); 14 f(); 15 auto t2 = …
Read More -
用gdb调试c++的时候,需要添加-g编译选项add_compile_options(-g),并且关掉各种编译优化 如果是多线程程序,可以用info threads 查看每个线程的信息 然后用thread [id] 查看指定线程,并用bt查看调用栈。 gdb调试的时候,可以用ctrl+c 停住程序,来查看调用栈,然后按c(continue)继续程序的运行。 emmm 先放一些相关的。 Linux 下如何产生core文件(core dump设置) ulimit -a 查看限制 ulimit -c unlimited 表示这只为不限制core文件大小 用gdb的调试命令如下: gdb ./test core.2065
Read More -
资料推荐这个:MySQL C API programming tutorial 环境为ubuntu 14.04 lts 需要安装mysql 和mysql 开发包 sudo apt-get install libmysqlclient15-dev mysql-server mysql-client 先在mysql 中建立test数据库和test表格 mysql>create database test; mysql>use test; //切换到test数据库中 mysql> create table test(name varchar(255),num int(10) ); //创建一个叫test …
Read More -
一个国内vps,一个国外vps. 前提是国外vps已经配置好。 接下来,我们在国内vps上安装haproxy yum -y install haproxy 或者 apt-get install haproxy 然后修改配置文件,位置在/etc/haproxy/haproxy.cfg global defaults log global mode tcp option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend ss-in bind *:[port] default_backend ss-out backend …
Read More -
20190511更新: 证书到期了,写一下更换证书的流程. 重新申请好证书之后,直接把Apache里面对应的123放到/data/cert文件夹. 其中1对应server-ca.crt,2对应server.crt,3对应server.key 由于从套路云转移到良心云,迫于国内某些蛋疼的政策,以及一些其他原因,决定全站上https. 首先是申请SSL证书,这个良心云就可以申请,也有其他地方。 这里要注意的是,有些证书是只能对应一个域名,腾讯云貌似就是这样,不过好像www.111qqz.com的证书也可以用于111qqz.com 得到证书中有Apache,Nginx,Tomcat和IIS四个文件夹,由于我们使用的是Apache,所以其他 …
Read More