小编Gho*_*ler的帖子

Node.js module.exports的目的是什么,你如何使用它?

Node.js module.exports的目的是什么,你如何使用它?

我似乎无法找到任何关于此的信息,但它似乎是Node.js的一个相当重要的部分,因为我经常在源代码中看到它.

根据Node.js文档:

对当前的参考 module.特别module.exports 是与exports对象相同.有关src/node.js更多信息,请参阅

但这并没有真正帮助.

究竟module.exports做了什么,一个简单的例子是什么?

javascript node.js

1397
推荐指数
9
解决办法
47万
查看次数

CMake:具有单元测试的项目结构

我正在尝试构建我的项目以包含生产源(在src子文件夹中)和测试(在test子文件夹中).我正在使用CMake来构建它.作为一个最小的例子,我有以下文件:

的CMakeLists.txt:

cmake_minimum_required (VERSION 2.8) 
project (TEST) 

add_subdirectory (src) 
add_subdirectory (test) 
Run Code Online (Sandbox Code Playgroud)

SRC /的CMakeLists.txt:

add_executable (demo main.cpp sqr.cpp) 
Run Code Online (Sandbox Code Playgroud)

SRC/sqr.h

#ifndef SQR_H
#define SQR_H
double sqr(double);    
#endif // SQR_H
Run Code Online (Sandbox Code Playgroud)

SRC/sqr.cpp

#include "sqr.h"
double sqr(double x) { return x*x; }
Run Code Online (Sandbox Code Playgroud)

src/main.cpp - 使用sqr,并不重要

测试/的CMakeLists.txt:

find_package(Boost COMPONENTS system filesystem unit_test_framework REQUIRED)

include_directories (${TEST_SOURCE_DIR}/src) 

ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK) 

add_executable (test test.cpp ${TEST_SOURCE_DIR}/src/sqr.cpp) 

target_link_libraries(test
                      ${Boost_FILESYSTEM_LIBRARY}
                      ${Boost_SYSTEM_LIBRARY}
                      ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
                      )

enable_testing()
add_test(MyTest test)
Run Code Online (Sandbox Code Playgroud)

测试/ TEST.CPP:

#define BOOST_TEST_MODULE SqrTests
#include <boost/test/unit_test.hpp>

#include "sqr.h"

BOOST_AUTO_TEST_CASE(FailTest)
{
    BOOST_CHECK_EQUAL(5, sqr(2));
} …
Run Code Online (Sandbox Code Playgroud)

c++ boost unit-testing cmake boost-test

127
推荐指数
2
解决办法
8万
查看次数

在C++中将引用转换为指针表示

有没有办法在c ++中"转换"对指针的引用?在下面的例子,func2已经定义了原型和我不能改变它,但func是我的API,我想为pass两个参数,或一(组和第二组,以NULL)或既不(均设置为NULL):

void func2(some1 *p1, some2 *p2);

func(some1& obj, some2& obj2)
{
   func2(..);
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers reference

26
推荐指数
4
解决办法
4万
查看次数