我不熟悉GIS(或地图),但最近我必须做一些与这个领域相关的工作.我知道一些地图提供者:OpenStreetMap,CloudMadeMap,OpenCycleMap,OpenAerialMap ......
我的问题是:那些地图提供商是否有相同的标准?我的意思是平铺尺寸,缩放级别,每个缩放级别的比例等等.
开放式GIS有什么标准吗?如果是的话,我在哪里可以找到它们,或者某些人可以给我一些参考或链接?
当自动填充文本框被展开,并且用户滚动浏览器页面时,该框保持在相同位置并且不会消失.如果它保持在相同的位置,我可以打开,但是我不明白为什么它会在滚动的同一个位置停留.
function ($) {
$.widget("ui.combobox", {
_create: function () {
var self = this,
select = this.element.hide(),
selected = select.children(":selected"),
value = selected.val() ? selected.text() : "";
var input = this.input = $("<input id='innertextbox'>")
.insertAfter(select)
.autocomplete({
delay: 0,
minLength: 0,
source: function (request, response) {
var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
response(select.children("option").map(function () {
var text = $(this).text();
if (this.value && (!request.term || matcher.test(text)))
return {
label: text.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" +
$.ui.autocomplete.escapeRegex(request.term) +
")(?![^<>]*>)(?![^&;]+;)", "gi"
), "<strong>$1</strong>"),
value: text, …Run Code Online (Sandbox Code Playgroud) 我创建了一个静态库,其中包含一些CUDA代码和一些常规C ++代码。此静态库的CMakeLists.txt如下所示:
SET(TARGET_H some_header.h)
SET(CUDA_SRC cudaclass1.cu cudaclass2.cu)
SET(TARGET_SRC cppclass1.cpp cppclass2.cpp)
SET(CUDA_NVCC_FLAGS "")
SET(CUDA_SEPARABLE_COMPILATION ON)
CUDA_ADD_LIBRARY(somestatic ${TARGET_H} ${TARGET_SRC} ${CUDA_SRC} OPTIONS -arch sm_20)
Run Code Online (Sandbox Code Playgroud)
这将产生libsomestatic.a。
现在,我想将此静态库与可执行文件链接,该可执行文件本身由CUDA代码和C ++代码组成。
在这个可执行文件的CUDA代码,我需要实例化并使用CudaClass1从libsomestatic.a。
这是CMakeLists.txt可执行文件:
SET(TARGET_H some_header.h)
SET(CUDA_SRC cudafile.cu)
SET(TARGET_SRC main.cpp)
SET(CUDA_NVCC_FLAGS "")
SET(CUDA_SEPARABLE_COMPILATION ON)
CUDA_ADD_EXECUTABLE(some_exe ${TARGET_H} ${TARGET_SRC} ${CUDA_SRC} OPTIONS -arch sm_20)
TARGET_LINK_LIBRARIES(some_exe somestatic)
Run Code Online (Sandbox Code Playgroud)
但是在构建时出现以下错误:
nvlink error: Undefined reference to '_ZN10test7CudaClass1C1EPKNS_11intE' in ...
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
CUDA文档说明(http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#examples)
“可以在单个主机可执行文件中进行多个设备链接,只要每个设备链接彼此独立(它们不能跨设备可执行文件共享代码)”
听起来我无法做我想做的事,对吧?
我使用CUDA 5.5和GCC 4.8。
我尝试使用gcc和C++11启用以下代码编译:
unsigned int id = 100;
unsigned char array[] = { id % 3, id % 5 };
Run Code Online (Sandbox Code Playgroud)
我收到这些警告:
缩小'(id%3u)'从'unsigned int'到{}内的'unsigned char'的转换[-Wnarrowing]
有没有办法帮助编译器发现id%3的结果符合unsigned char?
我对归并排序算法做了一个非常简单的实现,然后我将其用于 CUDA,只需很少的实现更改,算法代码如下:
//Merge for mergesort
__device__ void merge(int* aux,int* data,int l,int m,int r)
{
int i,j,k;
for(i=m+1;i>l;i--){
aux[i-1]=data[i-1];
}
//Copy in reverse order the second subarray
for(j=m;j<r;j++){
aux[r+m-j]=data[j+1];
}
//Merge
for(k=l;k<=r;k++){
if(aux[j]<aux[i] || i==(m+1))
data[k]=aux[j--];
else
data[k]=aux[i++];
}
}
//What this code do is performing a local merge
//of the array
__global__
void basic_merge(int* aux, int* data,int n)
{
int i = blockIdx.x*blockDim.x + threadIdx.x;
int tn = n / (blockDim.x*gridDim.x);
int l = i * tn;
int r = …Run Code Online (Sandbox Code Playgroud) 我用来boot2docker安装但最近为Mac安装了Docker ToolBox应用程序(运行10.11).当我打开iTerm并输入时,docker ps我收到以下消息.
Get http:///var/run/docker.sock/v1.20/containers/json: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
Run Code Online (Sandbox Code Playgroud)
我用来使用boot2docker所以我假设现在需要ToolBox.我启动了Docker quick start terminal只在终端内部工作的应用程序.但是,我想在我自己的终端等中使用docker.
为什么我会收到此错误?怎么修?
到目前为止我读过的所有书籍中,他们都说 C++ 模板为我们使用的每种类型生成一个代码实例。
另一方面,书上说在 C# 中代码是重用的。
因此,我在许多书籍中进行了搜索,并在一本很旧的书中找到了以下 C# 示例。
1) 值类型
List<int> intList1 = new List<int>();
List<int> intList2 = new List<int>();
List<bool> boolList = new List<bool>();
Run Code Online (Sandbox Code Playgroud)
在这种情况下(值类型),编译器为 intList1 和 intList2(相同类型)生成一个代码实例,并为 boolList 生成一个代码实例。
2) 参考类型
List<Dog> dogList1 = new List<Dog>();
List<Dog> dogList2 = new List<Dog>();
List<Cat> catList = new List<Cat>();
Run Code Online (Sandbox Code Playgroud)
在这种情况下(引用类型),编译器只为dogList1、dogList1和catList生成一个代码实例,因为只要它可以表示指向对象的指针,所有引用类型都可以共享一个实现。
这对我(作为 C++ 开发人员)来说非常清楚,但我对有关 C++ 模板的同样的事情感到好奇。
早在 C# 创建之前,C++ 也有值类型和引用类型。
因此,让我们用 C++ 重写 avove 示例
1) 值类型
vector<int> intList1;
vector<int> intList2;
vector<bool> boolList;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我毫不怀疑 intList1 和 intList2 共享相同的代码,并且 boolList 需要另一个实现
2) …
假设我有一个标题wrapper.h:
template <typename Func> void wrapper(const Func func);
Run Code Online (Sandbox Code Playgroud)
和一个文件wrapper.cpp包含:
#include "wrapper.h"
template <typename Func>
void wrapper(const Func func)
{
func();
}
Run Code Online (Sandbox Code Playgroud)
并且文件main.cpp包含:
#include "wrapper.h"
#include <iostream>
int main()
{
wrapper( [](){std::cout<<"hello."<<std::endl;} );
}
Run Code Online (Sandbox Code Playgroud)
如果我一起编译这些(例如cat wrapper.cpp main.cpp | g++ -std=c++11 -o main -x c++ -),我没有链接器错误.
但是如果我单独编译它们(例如g++ -std=c++11 -o wrapper.o -c wrapper.cpp && g++ -std=c++11 -o main main.cpp wrapper.o),我当然---得到一个链接器错误:
Undefined symbols for architecture x86_64:
"void wrapper<main::$_0>(main::$_0)", referenced from:
_main in …Run Code Online (Sandbox Code Playgroud) 我尝试优化node.js应用程序的性能,因此我正在分析V8的JIT编译器的行为.
通过运行应用程序时node --trace_deopt --trace_opt --code_comments --print_optcode ...,输出包含许多重复行,如下所示:
[didn't find optimized code in optimized code map for 0x490a8b4aa69 <SharedFunctionInfo>]
Run Code Online (Sandbox Code Playgroud)
如何找出哪个javascript代码对应0x490a8b4aa69?
完整输出可在此处获得.
下面的代码不会阻止listen(),它只是完成执行.你能告诉我为什么吗?(initWSA返回true,我检查了它).我正在关注一个教程,我被告知它应该阻止,因为它正在寻找客户端连接.
#include <iostream>
#include <WinSock2.h>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
#define PORT 10000
bool initWSA(){
WSADATA wsadata;
int error = WSAStartup(0x0202, &wsadata);
if (error) return false;
if (wsadata.wVersion != 0x0202){
WSACleanup();
return false;
}
return true;
}
void closeConnection(SOCKET s)
{
//Close the socket if it exists
if (s)
closesocket(s);
WSACleanup(); //Clean up Winsock
}
int main(){
initWSA();
SOCKET s;
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s == …Run Code Online (Sandbox Code Playgroud) c++ ×5
c++11 ×2
cuda ×2
templates ×2
algorithm ×1
boot2docker ×1
cmake ×1
connection ×1
dictionary ×1
docker ×1
gcc ×1
gis ×1
google-maps ×1
gpgpu ×1
javascript ×1
jit ×1
jquery ×1
jquery-ui ×1
lambda ×1
macos ×1
mergesort ×1
narrowing ×1
node.js ×1
nvcc ×1
nvlink ×1
performance ×1
server ×1
sockets ×1
sorting ×1
ubuntu ×1
v8 ×1
winsock ×1