自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

耗纸的博客

没事看看书,学学习,扯扯淡

  • 博客(161)
  • 收藏
  • 关注

原创 交叉编译OpenBlas android版,Success

交叉编译OpenBlas android版,Success我是在在Mac本上编译OpenBlas android版,arm32和arm64版,由于官方编译指南 实在有点问题,好多人编译不过(我也经过了各种编译链接错误),这里记录下,首先需要自行安装Android NDK, 然后见下arm32export CLANG_FLAGS="-target arm-linux-androidea...

2018-07-18 20:33:29 1649 5

转载 C++左值和右值

此博文写的很好 c++中的左值与右值 c++11 中的 move 与 forward

2017-07-18 18:47:52 511

原创 C++11 : unique_ptr

支持的操作 具体详见: http://www.cplusplus.com/reference/memory/unique_ptr/?kw=unique_ptr 或 http://zh.cppreference.com/w/cpp/memory/unique_ptr另附一些博客: C++ 11 创建和使用 unique_ptr C++11智能指针之unique_ptr 现代C++学习

2017-07-17 14:43:06 505

原创 Machine Learning:Logistic Regression

学习NG的Machine Learning教程,先关推导及代码。由于在matleb或Octave中需要矩阵或向量,经常搞混淆,因此自己推导,并把向量的形式写出来了,主要包括cost function及gradient descent 见下图。图中可见公式推导,及向量化表达形式的cost function(J)图中可见公式推导,及向量化表达形式的偏导数。下面为Logistic regression

2017-07-12 11:49:53 590

原创 Machine Learning:Regression with multi variables

学习NG的Machine Learning教程,先关推导及代码。由于在matleb或Octave中需要矩阵或向量,经常搞混淆,因此自己推导,并把向量的形式写出来了,主要包括cost function及gradient descent 见下图。图中可见公式推导,及向量化表达形式的cost function(J).图中为参数更新的向量化表达方式(其中有一处写错了,不想改了。。。)图中为feature

2017-07-12 11:17:34 400

原创 Machine learning : Regression with one variable

学习NG的Machine Learning教程,先关推导及代码。由于在matleb或Octave中需要矩阵或向量,经常搞混淆,因此自己推导,并把向量的形式写出来了,主要包括cost function及gradient descent 见下图。 图中可见公式推导,及向量化表达形式的cost function(J).图中为参数更新的向量化表达方式(其中有一处写错了,不想改了。。。)下面regress

2017-07-12 11:02:14 417

原创 C++避免编译警告unused

见 https://stackoverflow.com/questions/15763937/unused-parameter-in-c11#define UNUSED(expr) do { (void)(expr); } while (0)编译选项-Wall -Wextra -Werror -Wconversion -Wshadow

2017-06-21 23:25:53 11065

原创 Effective C++ <二>:构造,析构,赋值运算

如果这些函数出错的化,将会遍及整个class条款05:了解C++默默编写并调用哪些函数真讨厌,编译器会帮你添加上一些函数 如果你写下class Empty{};就好像如下class Empty{ public: Empty() {...}; //default构造函数 Empty(const Empty& rhs) {...} //copy构造函数

2017-06-03 22:19:50 358

原创 Effective C++ <一> :让自己习惯于C++

1. 视C++为一个语言联邦C++有四种使用方式 - C - Object-Oriented C++ - Template C++ - STL 不同部分的高效编程守则是不一样的 C++高效编程守则视状况而变化,取决于使用C++的哪那一部分2. 尽量以const,enum,inline替换#define常量的定义一般放在头文件,下面看看两种特殊情况 1. 定义常量指针const char

2017-06-02 17:03:19 390

转载 利用libpng中的函数读写png文件

转载自 http://blog.csdn.net/liuchao35758600/article/details/7288822

2017-05-30 10:43:58 837

原创 libevent遇到错误怎么处理

今日写程序遇到段错误,一个一个的对参数有没有错,这叫一个难呀,突然一想,可以用perror打印错误原因呀,后来在libevent的教材中找到错误的打印方法,如下nt err = EVUTIL_SOCKET_ERROR();fprintf(stderr, "Got an error %d (%s) on the listener. ""Shutting down.\n", err, evutil_

2017-05-25 23:50:56 1468

原创 TTCP测试网络传输性能

协议代码client代码#include <stdio.h>#include <stdlib.h>#include <sys/epoll.h>#include <sys/socket.h> #include <netinet/in.h> #include <unistd.h>#include <arpa/inet.h>#include <error.h>#include <stri

2017-05-21 17:49:16 2012

转载 注意头文件规则,避免链接错误:重定义(multiple defination)

转载自 http://blog.csdn.net/dakongyismile/article/details/50639118之前程序写太少了,导致一些就出错。 改!!!

2017-05-20 14:09:53 712

转载 配置xshell的 鼠标选中即复制,右键即粘贴的功能

转载于 http://gjr0512.blog.51cto.com/6518687/1427236 配置xshell的 鼠标选中即复制,右键即粘贴的功能 菜单 tools/option 然后如附图中圈4设置

2017-05-18 10:59:46 2293

转载 Makefile中的wildcard的用法

转载自 http://blog.csdn.net/liangkaiming/article/details/6267357

2017-05-17 18:48:20 927

转载 vim使用

保持经常更新…精确查找单词 精确匹配查找单词 如果你输入 “/the”,你也可能找到 “there”。要找到以 “the” 结尾的单词,可以用:/the> “>” 是一个特殊的记号,表示只匹配单词末尾。类似地,”\<” 只匹配单词的开头。这样,要匹配一个完整的单词 “the”,只需:/\

2017-05-16 09:36:04 281

原创 libevent例子:hello-world

libevent自带的sample 例子简单,且包含的API比较全面#include <string.h>#include <errno.h>#include <stdio.h>#include <signal.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/socket.h>#include <event2/b

2017-05-15 21:56:55 1058

原创 libevent例子:time-test.c

测试时间,代码如下#include <sys/types.h>#include <event2/event-config.h>#include <sys/stat.h>#include <sys/queue.h>#include <unistd.h>#include <time.h>#include <sys/time.h>#include <fcntl.h>#include <s

2017-05-15 20:21:18 404

原创 libevent常用API

常用API,总结下创建一个event_basestruct event_base *event_base_new(void);void event_base_free(struct event_base *base);//退出事件循环,两个的区别:break立即退出,exit先执行完回调函数,再退出int event_base_loopexit(struct event_base *base,

2017-05-15 19:14:34 1365

原创 GCC内置原子性操作

先简单看一篇关于GCC原子性操作的概念东西吧,见 http://blog.csdn.net/summerhust/article/details/7406683gcc内置原子操作函数再来看一看陈硕老师封装的原子类,很简单,拿来直接用了。(PS:我去掉了namespace) 下面是线程安全的// Use of this source code is governed by a BSD-style

2017-05-12 08:52:07 656

原创 libevent常见开发流程

一些常见步骤,列出来啦,免得自己敲,我是菜鸟,菜鸟的常见步骤就是这样吧,服务器端/* For sockaddr_in */#include <netinet/in.h>/* For socket functions */#include <sys/socket.h>/* For gethostbyname */#include <netdb.h>#include <unistd.h>#

2017-05-11 23:09:14 967

转载 CUDA性能优化----kernel调优(nvprof工具的使用)

见 http://blog.163.com/wujiaxing009@126/blog/static/71988399201701310151777?ignoreua主要用nvprof评价性能,主要三点。 occupancy nvprof --metrics achieved_occupancy ./a.outgld_throughputnvprof --metrics gld_throughp

2017-05-11 16:55:13 4446

转载 在CUDA C/C++中如何衡量代码性能

转载自 https://segmentfault.com/a/1190000007540468

2017-05-11 16:37:17 366

转载 libevent使用例子,从简单到复杂

转载自http://blog.csdn.net/luotuo44/article/details/39670221# 从自己使用socket,bind,accept等到使用libevent提供好的接口; 从不使用buffer到使用buffer来完成。

2017-05-09 14:37:05 611

转载 do{}while(0)用途

http://www.cnblogs.com/lanxuezaipiao/p/3535674.html

2017-05-08 21:13:25 329

转载 Email

需要写的英文邮件多了,就觉得很吃力,尤其是当需要经常写给同一个人时。希望邮件的开头、结尾、一些客套的话能有不同的表达~~ 邮件的开头   感谢读者是邮件开场白的好办法。感谢您的读者能让对方感到高兴,特别是之后你有事相求的情况下会很有帮助。 &nbsp ; Thank you for contacting us.如果有人写信来询问公司的服务,就可以使用这句句子开头。向他们对公司的兴趣

2017-05-08 15:40:25 786

转载 Vim中复制粘贴缩进错乱问题的解决方案

转载于 Vim中复制粘贴缩进错乱问题的解决方案

2017-05-07 13:53:21 697

转载 glog

见glog

2017-05-07 12:16:35 305

原创 为什么IO-multiplexing要与非阻塞IO一起使用

先看一个例子IO-multiplexing+阻塞IO首先需要明确的是IO复用是同步的,并不是异步的IO-multiplexing+阻塞IO程序实现了Netcat的简单功能#!/usr/bin/pythonimport osimport selectimport socketimport sysdef relay(sock): poll = select.poll() poll.

2017-05-07 00:09:21 589

原创 为什么正确的关闭TCP连接

收到的数据不完整,先看一个例子,如下#include "Acceptor.h"#include "InetAddress.h"#include "TcpStream.h"#include <thread>#include <unistd.h>void sender(const char* filename, TcpStreamPtr stream){ FILE* fp = fopen(f

2017-05-06 22:42:56 1990

原创 两种网络模式简单实现Netcat

分别用thread-per-connection和IO复用模式实现Netcat的基本功能:从stdin读,写到sockfd;从sockfd读写到stdout.thread-per-connection先看第一种,thread-per-connection#include <stdio.h>#include <stdlib.h>#include <sys/epoll.h>#include <sy

2017-05-06 14:11:49 904

转载 linux TCP_NODELAY 未定义

转载自http://blog.hehehehehe.cn/a/15575.htm编程,居然说”TCP_NODELAY” 未定义,添加#include

2017-05-05 11:20:31 2837

转载 CUDA:向量化加载提升性能

转载自 https://devblogs.nvidia.com/parallelforall/cuda-pro-tip-increase-performance-with-vectorized-memory-access/

2017-05-04 10:44:27 1086

转载 Libevent学习笔记(一):基本使用

转载于 http://www.tuicool.com/articles/VZBRBbF 这篇还比较全面。前言其实,现在高性能网络服务器基本都是异步I/O模式构建的,而Libevent就是对select、poll、epoll等各类异步模式接口的封装,通过设置回调函数的方式,在监听文件描述符和套接字读写事件的同时,还兼任定时器和信号接收的管理工作。所以这货对高性能服务器后台开发、跨平台开发、网络开发都

2017-05-03 21:30:36 2592

转载 C10K问题

这一系列文章不错,码下来慢慢看。 http://www.cocoachina.com/bbs/read.php?tid-1705273.html

2017-05-03 19:48:19 348

转载 Libevent:Echo Server Based on libevent

花了两天的时间在libevent上,想总结下,就以写简单tutorial的方式吧,貌似没有一篇简单的说明,让人马上就能上手用的。首先给出官方文档吧: http://libevent.org ,首页有个Programming with Libevent,里面是一节一节的介绍libevent,但是感觉信息量太大了,而且还是英文的-。-(当然,如果想好好用libevent,看看还是很有必要的),还有个Re

2017-05-03 19:04:44 366

原创 tcpdump命令

tcpdump支持的选项-i : 要监听的网卡名称-n : 用数字表示ip,端口-t : 不打印时间戳还支持表达式port目前我用到的tcpdump -i lo port 12345tcpdump -int lo port 12345

2017-05-03 17:39:50 300

原创 压力测试

一个通用的压力测试程序, 我也不知道是否通用,书上说是,抄下来学习学习#include <stdlib.h>#include <stdio.h>#include <assert.h>#include <unistd.h>#include <sys/types.h>#include <sys/epoll.h>#include <fcntl.h>#include <sys/socket.

2017-05-02 23:14:53 476

原创 netstat命令(持续更新中)

用一点自己记一点吧,转载的一大堆,也不知道什么意思,也记不住。//我这个显示了listening呀??-a (all)显示所有选项,默认不显示LISTEN相关//这个一般都加上吧,还是基于TCP编程的多,UDP会少。-t : (tcp)仅显示tcp相关选项-p :显示建立相关链接的程序名-n 拒绝显示别名,能显示数字的全部转化成数字。所以自己第一个常用的就是netstat -anp | g

2017-05-02 19:31:49 716

原创 CUDA-计时

kernel计时,记录,以后需要就直接过来抄了。cudaEvent_t start,stop;cudaEventCreate(&start);cudaEventRecord(start,NULL);//kernel计算kernel<<<>>>();cudaEventRecord(stop,NULL);cudaEventSynchronize(stop);float msecTotal =

2017-05-02 15:42:01 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除