小编tob*_*ier的帖子

提供新文件时的GPL版权声明

如何在提供新文件而不是修改文件时编写GPL版权声明?在项目中,所有文件都以:

/**
 * Some open source application
 * Component Foo
 * (C) 20?? by Scruffy H. Hacker (scruffy@foo.bar)
 * Released under the GPL
 *
 * Awesome description here.
 */
Run Code Online (Sandbox Code Playgroud)

我应该只在版权声明中加入我的名字,如下:

/**
 * Some open source application
 * Component Bar
 * (C) 20?? by Tobier Hackerson <tobier@foo.bar)
 * Released under the GPL
 *
 * Awesome description here.
 */
Run Code Online (Sandbox Code Playgroud)

或者我应该包括项目的原始创建者:

/**
 * Some open source application
 * Component Bar
 * (C) 20?? by Scruffy H. Hacker (scruffy@foo.bar)
 * (C) 20?? by Tobier …
Run Code Online (Sandbox Code Playgroud)

licensing gpl

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

C++具有未知数量参数的函数指针

我需要一些C++帮助!

我正在为一个基于文本的小游戏编写一个命令解析器,我遇到了一些问题.解析器应该读取并解析播放器输入的命令.

对此最明显和直接的解决方案可能是这样的(用伪代码编写):

command <- read input from the player
if command == COMMAND1
    do command1
else if command == COMMAND 2
    do command2
...
Run Code Online (Sandbox Code Playgroud)

我正在用C++编写,所以我想我可以通过使用关联映射和函数指针来解决这个问题.我对使用函数指针并不熟悉,所以这可能就是我遇到问题的原因.我想要做的是,有一些等待输入的循环,解析插入的输入,并根据给定的命令调用函数.这里有一些C++ - ish伪代码描述了我的想法:

while(1) {
 cin >> input;
 char * tok = strtok(input, " ")
 functionpointer fptr = command_map.find(tok);
 ... // here, I get stuck on what to do..
}
Run Code Online (Sandbox Code Playgroud)

所以我希望我能清楚地说明我想要发生什么.玩家本可以输入类似的内容

> go south
Run Code Online (Sandbox Code Playgroud)

我可以用以下代码完成代码:

destination = strtok(NULL, " ");
fptr(destination);
Run Code Online (Sandbox Code Playgroud)

基本上,从映射返回的值将是执行命令"go"的函数,并且该函数显然需要一个参数,即目标.同样,这是一些C++ - 伪代码.所以我得到了命令"go".但是现在说我想要有以下命令:

> attack troll with sword
Run Code Online (Sandbox Code Playgroud)

现在我觉得我需要做一些事情:

while(1) {
 cin >> input; …
Run Code Online (Sandbox Code Playgroud)

c++ function-pointers

9
推荐指数
2
解决办法
2817
查看次数

使用 Electron 在单独的窗口/浏览器中进行 OAuth 登录

我正在开发一个连接到 AWS 后端的 Electron 应用程序,该应用程序处理用户的验证和创建。如果重要的话我会用 React 构建应用程序。

基本上后端流程是:

  • 导航至backend.com/oauth/login
  • 后端准备 OAuth 配置,重定向到 Discord.com 身份验证 url
  • 用户进行身份验证,backend.com/oauth/callback使用必要的信息重定向到以验证身份验证并创建用户

我已经让这部分工作了。但如果我在单独的浏览器窗口中打开backend.com/oauth/login,我如何知道身份验证是否成功?

我可以在打开的身份验证窗口中监听一些事件吗?也许让回调重定向到backend.com/login/successful身份验证是否完成或其他情况backend.com/login/failed。这感觉就像是一个黑客,但我在这里远远超出了我的专业知识。

authentication oauth callback electron

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