小编Rou*_*per的帖子

如何将 64 位地址的 std::string 表示形式转换为 uint64_t?

我有一个std::string以小端十六进制形式表示的 64 位内存地址。如何将其转换为uint64_t表示?

c++

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

用strncpy替换strcpy

假设我有一些遗留代码是使用对C STL函数的不安全调用编写的strcpy.我们都知道这strcpy是不安全的,因为它使程序容易受到缓冲区溢出问题的影响.假设我要将所有调用替换为strcpy调用strncpy.一种用于替换所有技术调用strcpy(dest, src)将涉及调用strncpy与参数(dest, src, length of dest - 1),然后终止dest\0.我知道这个问题是我们并不总是知道它的长度,dest因为它可能是指向堆上分配的内存的指针.

我们假设我可以计算出dest每个呼叫站点的长度.我可以取代所有调用strcpy与调用strncpy,这将保证我的计划是不受缓冲区溢出攻击(至少从使用不当的strcpy).但是,这种方法可能会以不合需要的方式默默地截断数据并改变程序行为.这比检测截断和中止程序更好吗?或者是允许截断还是记录它更好吗?

我是从有兴趣开发修补遗留代码的自动方法的人的角度问的.有没有人对如何最好地解决这个问题有任何想法?

c c++ security stl strcpy

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

LLVM测试基础架构失败

我已成功完成了安装位于此链接的 LLVM测试基础架构(LNT)的所有步骤.最后一步是执行以下命令:

lnt runtest nt \
    --sandbox SANDBOX \
    --cc ~/llvm.obj/Release/bin/clang \
    --test-suite ~/llvm-test-suite
Run Code Online (Sandbox Code Playgroud)

我用我的值替换了命令,如下所示:

lnt runtest nt \
    --sandbox ~/mysandbox \
    --cc /opt/llvm/Debug+Asserts/bin/clang++ \
    --test-suite ~/llvm-test-suite
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我看到以下输出:

2013-05-16 14:43:27: checking source versions
2013-05-16 14:43:32: scanning for LNT-based test modules
2013-05-16 14:43:32: found 0 LNT-based test modules
2013-05-16 14:43:32: using nickname: 'routemapper__clang_DEV__x86_64'
2013-05-16 14:43:32: starting test in '/home/routemapper/mysandbox/test-2013-05-14_12-44-27'
2013-05-16 14:43:32: configuring...
2013-05-16 14:43:40: executing "nightly tests" with -j4...
2013-05-16 15:06:09: executing test modules
2013-05-16 15:06:09: loading nightly test data... …
Run Code Online (Sandbox Code Playgroud)

testing integration-testing llvm

3
推荐指数
1
解决办法
470
查看次数

如何将本地 std::string 复制到 const char *?

const char* getString() {
  std::string myString = "Hello!";
  return myString.str().c_str();
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让这个函数返回一个const char *将超过它声明的本地范围?我相信我需要使用malloc,但我不确定。

c++ malloc

3
推荐指数
1
解决办法
1249
查看次数

编译器可以优化汇编中的函数前导码吗?

我正在尝试为x86可执行文件构建一个反编译器,并且想知道我是否可以安全地假设函数前导/序言将保持不变.是否有可能编译器可以将它们优化出组件?

x86 assembly decompiling x86-64

2
推荐指数
1
解决办法
173
查看次数

在减速器导致问题之后列出 Redux-Toolkit extraReducers(TS2322 错误)

问题

我正在使用 Redux-Toolkit,但下面的代码有问题。当extraReducers省略时,我的代码工作正常。extraReducers当 后列出时reducers,我遇到错误(如下所示)。当前面extraReducers列出时,我的代码工作正常。我在这里缺少什么? reducers

type Item = { id: string, name: string }

export const itemsAdapter = createEntityAdapter<Item>();
const initialState = itemsAdapter.getInitialState();

export const slice = createSlice({
  name: 'items',
  initialState,
  reducers: {  
    itemsAdded(state, action: PayloadAction<{ items: Item[] }>) {
      itemsAdapter.setAll(state, action.payload.items);
    }, 
  },
  extraReducers: (builder) => { /*  },,
});
Run Code Online (Sandbox Code Playgroud)

错误信息

TS2322: Type '(state: WritableDraft<EntityState<Item>>, action: { payload: { items: Item[]; }; type: string; }) => void' is not assignable …
Run Code Online (Sandbox Code Playgroud)

javascript typescript redux react-redux redux-toolkit

2
推荐指数
1
解决办法
994
查看次数

我怎样才能中止AJAX通话?

我计划在我的网站上实现一系列jQuery AJAX调用,并希望开发一个中止AJAX调用的函数.我怎样才能做到这一点?我已经阅读了这个链接,但它对我不起作用.

javascript ajax jquery

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

Java会优化最大化操作吗?

考虑下面的Java代码,将JRE优化调用替换到max一起打电话Math.max

未经优化的代码

public static void main(String[] args) {
  int max = max(3, 5);
}

public int max(int x, int y) {
  if (x < y) {
    return y;
  }
  else {
    return x;
  }
}
Run Code Online (Sandbox Code Playgroud)

优化的代码

public static void main(String[] args) {
  int max = Math.max(3,5)
}
Run Code Online (Sandbox Code Playgroud)

java optimization

0
推荐指数
1
解决办法
96
查看次数

使用绑定的Google脚本生成查询对象

我正在使用绑定到Google表格的Google脚本以编程方式生成以下查询:

=query('16 Jul - 20 Jul Responses'!A1:I31, "SELECT C WHERE D = 'Available'", 0)

Google脚本中是否可以解析该查询结果的对象表示形式?我希望能够编写如下代码:

var queryString = '=query('16 Jul - 20 Jul Responses'!A1:I31, "SELECT C WHERE D = 'Available'", 0)'; var results = new Query(queryString); for(var i = 0; i < results.length; i++) { var result = results[i]; // do something }

据我所知,除非您正在使用Google Web App,否则查询对象不存在。这是真的?还是有办法实现这一想法?

google-visualization google-sheets google-apps-script google-query-language google-sheets-query

0
推荐指数
1
解决办法
579
查看次数