小编hyn*_*ner的帖子

Chrome跨域PATCH请求无效

我有一个REST Api的网站,现在我正在创建一个浏览器扩展,它将从一些页面收集数据并将它们发送回REST Api.因为我希望我的扩展程序兼容firefox和chrome,并且易于维护,我将实际代码作为脚本标记注入页面,然后像普通的javascript一样执行.我目前只在扩展的chrome版本上工作,我遇到了一个问题:

当我尝试将数据发送到api(PATCH请求)时,chrome不会让我说:

XMLHttpRequest无法加载http://my.rest/api.Access-Control-Allow-Origin不允许使用Origin http://website.com.

我将Access-Control-Allow-Headers,Methods和Origin都设置为正确的值,但它仍然不起作用.它适用于GET请求.我也尝试过POST和PUT请求,但那些也不起作用.

这是我的标题:

请求:

OPTIONS /some/api/path HTTP/1.1
Host: my.rest
Connection: keep-alive
Access-Control-Request-Method: PATCH
Origin: http://website.com
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
X-FireLogger: 1.1
Access-Control-Request-Headers: accept, x-http-auth-user, x-http-auth-token, origin, content-type
Accept: */*
Referer: http://website.com/index.php
Accept-Encoding: gzip,deflate,sdch
Accept-Language: cs-CZ,cs;q=0.8
Run Code Online (Sandbox Code Playgroud)

响应:

Access-Control-Allow-Headers:accept, x-http-auth-user, x-http-auth-token, origin, content-type
Access-Control-Allow-Methods:PATCH
Access-Control-Allow-Origin:*
Connection:Keep-Alive
Content-Type:text/html; charset=utf-8
Date:Thu, 04 Jul 2013 10:50:08 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.4.2 (Win64) PHP/5.4.3
X-Frame-Options:SAMEORIGIN
X-Powered-By:Nette Framework
Run Code Online (Sandbox Code Playgroud)

我也尝试将Access-Control-Allow-Origin设置为与Origin标题完全相同的值,但它不起作用.此外,它似乎在Firefox中工作.我有Chrome 27,应该是最新的.

javascript google-chrome cross-domain

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

在Windows上,试用版代码的运行速度比32位快32倍,而在Linux上则高于64位

我有一段代码,在Windows上运行速度比在linux上快2倍.这是我测量的时间:

g++ -Ofast -march=native -m64
    29.1123
g++ -Ofast -march=native
    29.0497
clang++ -Ofast -march=native
    28.9192
visual studio 2013 Debug 32b
    13.8802
visual studio 2013 Release 32b
    12.5569
Run Code Online (Sandbox Code Playgroud)

这似乎是一个太大的差异.

这是代码:

#include <iostream>
#include <map>
#include <chrono>
static std::size_t Count = 1000;

static std::size_t MaxNum = 50000000;

bool IsPrime(std::size_t num)
{
    for (std::size_t i = 2; i < num; i++)
    {
        if (num % i == 0)
            return false;
    }
    return true;
}

int main()
{
    auto start = std::chrono::steady_clock::now();
    std::map<std::size_t, bool> value; …
Run Code Online (Sandbox Code Playgroud)

c++ performance benchmarking x86 32bit-64bit

12
推荐指数
2
解决办法
931
查看次数

fstream从二进制文件的末尾删除N个字节

是否可以使用fstream(或类似的东西)从C++中的二进制文件末尾删除N个字节?我不想读取整个文件,剪切并再次写入,但由于它是从文件的末尾看起来它不应该是这样的问题.

谢谢你的建议.

c++ fstream

4
推荐指数
1
解决办法
1806
查看次数