小编Nee*_*ury的帖子

以编程方式获取公共S3对象的URL(链接)

我在我的服务器中使用给定的Java API在AWS S3存储桶中存储一个公共对象现在我需要将S3对象的公共URL返回给我的客户端

直到现在我还没有找到任何可以返回S3对象的公共URL(或链接字段)的API调用

有没有办法获取URL?

java amazon-s3 amazon-web-services

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

使用gcc正确展开循环的方法

#include <stdio.h>
int main() {
        int i;
        for(i=0;i<10000;i++){
            printf("%d",i);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想使用gcc循环展开此代码,但即使使用该标志.

gcc -O2 -funroll-all-loops --save-temps unroll.c
Run Code Online (Sandbox Code Playgroud)

我得到的汇编代码包含一个10000次迭代的循环

_main:
Leh_func_begin1:
        pushq   %rbp
Ltmp0:
movq    %rsp, %rbp
Ltmp1:
pushq   %r14
pushq   %rbx
Ltmp2:
xorl    %ebx, %ebx
leaq    L_.str(%rip), %r14
.align  4, 0x90
LBB1_1:
xorb    %al, %al
movq    %r14, %rdi
movl    %ebx, %esi
callq   _printf
incl    %ebx
cmpl    $10000, %ebx
jne LBB1_1
popq    %rbx
popq    %r14
popq    %rbp
ret
Leh_func_end1:
Run Code Online (Sandbox Code Playgroud)

可以somone plz告诉我如何在gcc中正确实现循环展开

c optimization gcc loop-unrolling

7
推荐指数
2
解决办法
3967
查看次数

应该在c ++中返回const数据类型后增加运算符重载

对于像int这样的基本数据类型,代码片段会出现编译错误

i++ = 2;
Run Code Online (Sandbox Code Playgroud)

所以显然i++不是左值

但是当用c ++重载自定义类时,大多数人都认为post增量运算符的签名应该是这样的

Date Date::operator++(int) {
    Date temp = *this;
    // do increment
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么不应该返回类型const Date而不是Date原始类型.

c++ operator-overloading

5
推荐指数
0
解决办法
88
查看次数

从静态函数C++中获取staic变量

class A {
public:
    static int i;
    static int  inc();
};

int A::inc() {
    i++;
    return i;
}

int main() {
    A::inc();
}
Run Code Online (Sandbox Code Playgroud)

我们知道我们可以从静态方法访问静态成员变量.但是这段代码给了我一个错误

"A::i", referenced from:
  A::inc()     in ccn8PKhC.o
ld: symbol(s) not found for architecture x86_64
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我,我错过了什么

c++ static

-1
推荐指数
1
解决办法
90
查看次数