首先熟悉Eigen库的用途,自行百度。

引入头文件:

// Eigen 部分
#include <Eigen/Core>
// 稠密矩阵的代数运算(逆,特征值等)
#include <Eigen/Dense>

定义变量:

Eigen 中所有向量和矩阵都是Eigen::Matrix,它是一个模板类。

它的前三个参数为:数据类型,行,列

Eigen 通过 typedef 提供了许多内置类型,不过底层仍是Eigen::Matrix

例如:

Eigen::Matrix<, > matrix_23;  // 声明一个2*3的float矩阵
Eigen::Vector3d v_3d;  //Vector3d 实质上是 Eigen::Matrix<double, 3, 1>Eigen::Matrix3d matrix_33 ;//Matrix3d 实质上是 Eigen::Matrix<double, 3, 3>

初始化:

matrix_33 = Eigen::Matrix3d::Zero(); //初始化为零
matrix_23 << , , , , , ;  //输入数据(初始化)matrix_33 = Eigen::Matrix3d::Random();      // 随机数矩阵

访问数据:

cout <<matrix_23 << endl; // 输出

// 用()访问矩阵中的元素
    ; i<; i++) {
        ; j<; j++)
            cout<<matrix_23(i,j)<<"\t";
        cout<<endl;
    }

矩阵的乘法:

注意:

1、在Eigen里不能混合两种不同类型的矩阵,Eigen不会帮我们自动类型转换。我们需要自己进行显示转换。

如果我们不显式的进行类型转换,

Eigen::Matrix<, > result_wrong_type = matrix_23 * v_3d;

则报错如下:(有时候编译器就是这么不友好的提示一堆错误,也不直接告诉你是因为类型不对,摊手┑( ̄Д  ̄)┍)

/home/wy/workdir/slambook/ch3/useEigen/build> make -j2
Scanning dependencies of target eigenMatrix
[ %] Building CXX object CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o
In file included :,
                 :
/usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘, >, Eigen::Matrix<, >, Eigen::DenseShape, Eigen::DenseShape>’:
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, > >’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , >’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, >’
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/Product.h::: error: no type named ‘ReturnType’ in ‘struct Eigen::internal::scalar_product_traits<float, double>’
   typedef typename scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType Scalar;
                                                                                                  ^
In file included :,
                 :
/usr/include/eigen3/Eigen/src/Core/DenseBase.h: In instantiation of ‘, >, Eigen::Matrix<, >, > >’:
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h:::   required , >, Eigen::Matrix<, >, > >’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , >’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, >’
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::operator*;
                         ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::operator/;
                         ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::derived;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::const_cast_derived;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::rows;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::cols;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::size;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::rowIndexByOuterInner;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::colIndexByOuterInner;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::coeff;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::coeffByOuterInner;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::operator();
                          ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::operator[];
                          ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::x;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::y;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::z;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::w;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::stride;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::innerStride;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::outerStride;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::rowStride;
                 ^
/usr/include/eigen3/Eigen/src/Core/DenseBase.h::: error: using-declaration for non-member at class scope
     using Base::colStride;
                 ^
In file included :,
                 :
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h: In instantiation of ‘, >, Eigen::Matrix<, >, > >’:
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , >’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, , Eigen::Dense>’
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, >’
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::derived’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::derived;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::const_cast_derived’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::const_cast_derived;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::rows’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::rows;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::cols’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::cols;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::size’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::size;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::coeff’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::coeff;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::coeffRef’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::coeffRef;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::eval’ , >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::eval;
                 ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::, >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::operator*=;
                         ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::, >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::operator/=;
                         ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::, >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::operator*;
                         ^
/usr/include/eigen3/Eigen/src/Core/MatrixBase.h::: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, > >}::, >, Eigen::Matrix<, >, > >::Base {aka , >, Eigen::Matrix<, >, > >}’
     using Base::operator/;
                         ^
In file included :,
                 :
/usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘, >, Eigen::Matrix<, >, , Eigen::Dense>’:
/usr/include/eigen3/Eigen/src/Core/Product.h:::   required , >, Eigen::Matrix<, >, >’
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: error: no members matching ‘Eigen::ProductImpl<Eigen::Matrix<, >, Eigen::Matrix<, >, , Eigen::Dense>::Base {aka Eigen::, >, Eigen::Matrix<, >, , >}::derived’ , >, Eigen::Matrix<, >, , Eigen::Dense>::Base {aka , >, Eigen::Matrix<, >, , >}’
   using Base::derived; \
               ^
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: note: in expansion of macro ‘EIGEN_GENERIC_PUBLIC_INTERFACE’
   EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) \
   ^
/usr/include/eigen3/Eigen/src/Core/Product.h::: note: in expansion of macro ‘EIGEN_DENSE_PUBLIC_INTERFACE’
     EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
     ^
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: error: no members matching ‘Eigen::ProductImpl<Eigen::Matrix<, >, Eigen::Matrix<, >, , Eigen::Dense>::Base {aka Eigen::, >, Eigen::Matrix<, >, , >}::const_cast_derived’ , >, Eigen::Matrix<, >, , Eigen::Dense>::Base {aka , >, Eigen::Matrix<, >, , >}’
   using Base::const_cast_derived;
               ^
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: note: in expansion of macro ‘EIGEN_GENERIC_PUBLIC_INTERFACE’
   EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) \
   ^
/usr/include/eigen3/Eigen/src/Core/Product.h::: note: in expansion of macro ‘EIGEN_DENSE_PUBLIC_INTERFACE’
     EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
     ^
/usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘, >, Eigen::Matrix<, >, >’:
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: error: no members matching ‘Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, >::Base {aka Eigen::, >, Eigen::Matrix<, >, , >}::derived’ , >, Eigen::Matrix<, >, >::Base {aka , >, Eigen::Matrix<, >, , >}’
   using Base::derived; \
               ^
/usr/include/eigen3/Eigen/src/Core/Product.h::: note: in expansion of macro ‘EIGEN_GENERIC_PUBLIC_INTERFACE’
     EIGEN_GENERIC_PUBLIC_INTERFACE(Product)
     ^
/usr/include/eigen3/Eigen/src/Core/util/Macros.h::: error: no members matching ‘Eigen::Product<Eigen::Matrix<, >, Eigen::Matrix<, >, >::Base {aka Eigen::, >, Eigen::Matrix<, >, , >}::const_cast_derived’ , >, Eigen::Matrix<, >, >::Base {aka , >, Eigen::Matrix<, >, , >}’
   using Base::const_cast_derived;
               ^
/usr/include/eigen3/Eigen/src/Core/Product.h::: note: in expansion of macro ‘EIGEN_GENERIC_PUBLIC_INTERFACE’
     EIGEN_GENERIC_PUBLIC_INTERFACE(Product)
     ^
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp: In function ‘int main(int, char**)’:
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp::: error: conversion , >, Eigen::Matrix<, >, >’ to non-scalar type ‘Eigen::Matrix<, >’ requested
     Eigen::Matrix<, > result_wrong_type = matrix_23 * v_3d;
                                                               ^
CMakeFiles/eigenMatrix.dir/build.make:: recipe for target 'CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o' failed
make[]: *** [CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o] Error
CMakeFiles/Makefile2:: recipe for target 'CMakeFiles/eigenMatrix.dir/all' failed
make[]: *** [CMakeFiles/eigenMatrix.dir/all] Error
Makefile:: recipe for target 'all' failed
make: *** [all] Error
*** Failure: Exit code  ***

我们应该显式转换,代码如下:

Eigen::Matrix<, > result = matrix_23.cast<double>() * v_3d;

2、在Eigen中,不能搞错矩阵的维度。(这是线性代数中矩阵相乘的基本前提要求)

Eigen::Matrix<, > result_wrong_dimension = matrix_23.cast<double>() * v_3d;

维度不对的时候,报错如下:

/home/wy/workdir/slambook/ch3/useEigen/build> make -j2
Scanning dependencies of target eigenMatrix
[ %] Building CXX object CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o
In file included :,
                 :
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘, , , , >; Src = Eigen::Product<Eigen::CwiseUnaryOp<Eigen::, > >, Eigen::Matrix<, >, >; Func = Eigen::internal::assign_op<double>]’:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:::   required , > >, Eigen::Matrix<, >, >; Derived = Eigen::Matrix<, , , , >]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:::   required , > >, Eigen::Matrix<, >, >; Derived = Eigen::Matrix<, , , , >]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:::   required , > >, Eigen::Matrix<, >, >; _Scalar = ; ; ; ; ]’
/home/wy/workdir/slambook/ch3/useEigen/eigenMatrix.cpp:::   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h::: error: ‘YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES’ is not a member of ‘Eigen::internal::static_assertion<false>’
         if (Eigen::internal::static_assertion<static_cast<bool>(CONDITION)>::MSG) {}
         ^
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h::: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
   EIGEN_STATIC_ASSERT( \
   ^
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h::: note: in expansion of macro ‘EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE’
   EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src)
   ^
CMakeFiles/eigenMatrix.dir/build.make:: recipe for target 'CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o' failed
make[]: *** [CMakeFiles/eigenMatrix.dir/eigenMatrix.cpp.o] Error
CMakeFiles/Makefile2:: recipe for target 'CMakeFiles/eigenMatrix.dir/all' failed
make[]: *** [CMakeFiles/eigenMatrix.dir/all] Error
Makefile:: recipe for target 'all' failed
make: *** [all] Error
*** Failure: Exit code  ***

四则运算:

matrix_33.transpose()    // 转置
 matrix_33.sum()   // 各元素和
matrix_33.trace()          // 迹
*matrix_33           // 数乘
matrix_33.inverse()       // 逆
matrix_33.determinant()  // 行列式

求解方程:

    cout<<"我们求解 matrix_NN * x = v_Nd 这个方程"<<endl;
    // N的大小在前边的宏里定义(N=50),它由随机数生成
    // 直接求逆自然是最直接的,但是求逆运算量大 x = matrix_NN.inverse()*v_Nd;

    Eigen::Matrix< double, MATRIX_SIZE, MATRIX_SIZE > matrix_NN;
    matrix_NN = Eigen::MatrixXd::Random( MATRIX_SIZE, MATRIX_SIZE );
    Eigen::Matrix< > v_Nd;
    v_Nd = Eigen::MatrixXd::Random( MATRIX_SIZE, );

    clock_t time_stt = clock(); // 计时
    // 直接求逆
    Eigen::Matrix<> x = matrix_NN.inverse()*v_Nd;
    cout <<* (clock() - time_stt)/(double)CLOCKS_PER_SEC << "ms"<< endl;

    // 通常用矩阵分解来求,例如QR分解,速度会快很多
    time_stt = clock();
    x = matrix_NN.colPivHouseholderQr().solve(v_Nd);
    cout <<*  (clock() - time_stt)/(double)CLOCKS_PER_SEC <<"ms" << endl;

运行如下:

我们求解 matrix_NN * x = v_Nd 这个方程
time use .65ms
time use .102ms

Eigen库笔记整理(一)的更多相关文章

  1. Eigen库笔记整理(二)

    Eigen/Geometry 模块提供了各种旋转和平移的表示 旋转矩阵直接使用 Matrix3d 或 Matrix3f Eigen::Matrix3d rotation_matrix = Eigen: ...

  2. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  3. JS第一周学习笔记整理

    目录 JS正式课第一周笔记整理 JS正式课第一周笔记整理 webstorm : 代码编辑器 浏览器: 代码解析器: Git : 是一个工具;用于团队协作开发项目管理代码的工具:在工作中用git.svn ...

  4. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...

  5. NPM 学习笔记整理

    NPM 学习笔记整理 阅读 550,2017年06月04日 发布,来源:blog.ihoey.com 什么是 NPM npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ru ...

  6. Three入门学习笔记整理

    一.官方网站:https://threejs.org 二.关于Three.js 三.开始 四.实例 基本结构 结果 五.概念 坐标系 场景 相机 灯光 3D模型 六.简单动画 七.交互控制 结束 # ...

  7. 最全mysql笔记整理

    mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...

  8. 布客&#183;ApacheCN 翻译/校对/笔记整理活动进度公告 2020.1

    注意 请贡献者查看参与方式,然后直接在 ISSUE 中认领. 翻译/校对三个文档就可以申请当负责人,我们会把你拉进合伙人群.翻译/校对五个文档的贡献者,可以申请实习证明. 请私聊片刻(52981514 ...

  9. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

随机推荐

  1. Android MaoZhuaWeiBo开发Service抓取个人信息-2

    前面把基本的东西讲完了,之后就是数据的获取和解析显示出来了,那接下来我们就负责抓取数据的这块吧,首先我们须要 在清单文件中载入服务和活动 加入:. <activity android:name= ...

  2. 7-81 js课程小结

    7-81 js课程小结 学习要点 理解全局对象 变量的作用范围 理解全局对象Global 全局属性和函数可用于所有内建的 JavaScript 对象.全局对象是所有全局方法的拥有者,用来统一管理全局方 ...

  3. Android抢先截获短信(附源码)

    之前在写通讯录应用时,将整体的代码写完后,自测时发现非常非常多的问题,其中一个非常重要严重的就是可以发出短信,但收不到任何的短信息,这搞的我好捉鸡啊!后来调试发现是由于没有收到短信的消息导致的,然后将 ...

  4. Cocos2d-x 3.2编译生成Android程序出错Error running command, return code: 2的解决方法

    用Cocos2d-x 3.2正式版创建项目,结果使用cocos compile -p android编译生成APK程序,结果悲剧了,出现以下错误. Android NDK: Invalid APP_S ...

  5. bzoj4269

    http://www.lydsy.com/JudgeOnline/problem.php?id=4269 裸线性基,一个数取多次就是没取... 又有了些新的理解:a数组的前now个元素是基底,也就是可 ...

  6. 23. Ext xtype : "combo" 下拉选择框

    转自:https://blog.csdn.net/majishushu/article/details/52601161

  7. vs2017 + miniUI 后端框架使用

    vs2017 +  miniUI  后端框架使用 上miniUI官网直接下载框架.http://www.miniui.com/ 此框架使用说明很清楚. 2.1.vs2017创建安装miniUI后端框架 ...

  8. 个人作品:EasyPicker(轻取)简洁而又实用的文件收取Web应用

    EasyPicker简洁实用且方便的在线文件收取Web应用  小弟我作为班上的学委,有一个伟大的职责,收发各科作业(尤其是专业课的上机课),上机==写报告,此时就产生了实验报告这个玩意儿,一个班少则4 ...

  9. Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析

    1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...

  10. 关于ListView的注意点

    解决ListView的一些常见问题: 1.listview在拖动的时候背景图片消失变成黑色背景,等到拖动完毕我们自己的背景图片才显示出来 解决:在XML中加入 android:scrollingCac ...