所以我一直在使用Visual Studio C++中的文件中的音频和图像进行一些项目.截至目前,它们只是测试项目,但我现在将转向使用SFML和一些不同的音频库制作2D游戏.问题是这样,我想把我的游戏发给别人,这样他们就可以玩和测试它们了,我可能会尝试为某些人开发某种多人游戏,从而增加了我愿意把它交给别人的愿望,但是我没有知道如何给他们包含所有文件的游戏.我以前只能从调试或发布文件夹中获取exe文件,但这些项目有他们依赖的文件.
所以这是我的问题,是否可以导出包含所有其他文件(wav,jpg等)的exe文件?如果这个问题听起来非常愚蠢,那么告诉我,因为我对exe是什么一无所知,以及它是否可以保存这些文件(我习惯于java,你可以简单地将东西输出到一个可运行的jar中,因为它是一个存档,其中包含预先打包的所有资源,我不知道exe是否共享这些特征).如果这是不可能的,或者有更好的选择,那么它们是什么?我已经看过并知道如何从数据数组中加载声音,那会是更好的解决方案吗?还是有其他选择吗?最重要的是,在调试和发布文件夹中有几个DLL文件,我需要运行项目,有没有办法将这些文件压缩到exe或者那些必须与exe在同一个文件夹中,无论什么?
这里真正的问题是什么是出口我的项目的exe文件,这样我可以利用我所有的声音和图像资源,以及DLL的成容易散发副本的最佳方式是什么?提前感谢您的任何建议.
我目前正在尝试学习如何使用premake 4将其应用于OpenGL sdk.我目前正在尝试使用main方法构建一个构建2个项目的Visual Studio 2010解决方案,一个是静态库,另一个包含单个主源文件.
这个项目非常简单,仅用于学习预制.在名为Test的静态库项目中,我有2个文件,Test.h和Test.cpp.Test.h包含方法print()的原型.print()只是在控制台上打印一行.使用premake,我将静态库链接到Main项目,而在main.cpp中我已经包含了Test.h文件.我的问题是:在VS2010中,当我尝试构建时出现此错误:
1>main.obj : error LNK2019: unresolved external symbol "void __cdecl print(void)" (? print@@YAXXZ) referenced in function _main 1>.\Main.exe : fatal error LNK1120: 1 unresolved externals
这是我在4个文件中的代码,premake4.lua:
solution "HelloWorld"
configurations {"Debug", "Release"}
project "Main"
kind "ConsoleApp"
language "C++"
files{
"main.cpp"
}
configuration "Debug"
defines { "DEBUG" }
flags { "Symbols" }
configuration "Release"
defines { "NDEBUG" }
flags { "Optimize" }
links {"Test"}
project "Test"
kind "StaticLib"
language "C++"
files{
"test.h",
"test.cpp"
} …Run Code Online (Sandbox Code Playgroud) 因此,我正在为我的项目设置 firebase 安全规则,并为用户设置房间的读取权限,我们需要确保他们是该组织的一部分。所以我有一个这样的安全规则:
root.child('organizations').child(data.child('organization_id').val()).child('user_ids').hasChild(auth.uid)
这不仅非常丑陋,同一语句中还有其他几条规则(由 &&/|| 分隔),这些规则root.child('organizations').child(data.child('organization_id').val())以访问与该房间关联的组织变量中的数据开头。
这导致了一些丑陋的安全规则,有什么方法可以制作临时变量或类似的东西,这样我就可以使它更具可读性?谢谢!
我已经在 StackOverflow 上看到了一些对此问题的其他回答,但没有一个对我有用。
{
"data": {
"list": [
{"id": "2ac5bf6f-bc4a-49e8-8f9f-bc518a839981", "type": "type1"},
{"id": "d15ac090-11ce-4c0c-a05d-d4238f01e8b0", "type": "type3"},
{"id": "b98958fa-87c4-4dcc-aa84-beaf2b32c5c0", "type": "type1"},
{"id": "854f4d2a-f37c-42cb-9a1f-17a15454a314", "type": "type2"},
{"id": "555816da-4547-4a82-9e7e-1e92515bd82b", "type": "type2"},
{"id": "0f7f4ced-61c2-45da-b15c-0e12058f66a7", "type": "type4"}
]
}
}
Run Code Online (Sandbox Code Playgroud)
这个 Json 存储在一个名为“questions”的字段中,现在我想在该表中查询列表中具有特定 id 的对象。所以说我有 id 555816da-4547-4a82-9e7e-1e92515bd82b,我想返回
{"id": "555816da-4547-4a82-9e7e-1e92515bd82b", "type": "type2"}
Run Code Online (Sandbox Code Playgroud)
我在互联网上看到的解决方案(主要是在这里),但没有起作用,如下:
SELECT questions->'data'->'list'
FROM assignments
WHERE id='81asd6230-126d-4bc8-9745-c4333338115c'
AND questions->'data'->'list' @> '[{"id":"854f4d2a-f37c-42cb-9a1f-17a15454a314"}]';
Run Code Online (Sandbox Code Playgroud)
我已经在多个不同的响应中看到了这个解决方案,但它根本没有缩小数组范围,它每次都返回完整的内容。where 子句中的第一个 id 是我想要的特定赋值对象的 id,它在这里基本上不相关。
SELECT questions->'data'->'list'
FROM assignments
WHERE id='81asd6230-126d-4bc8-9745-c4333338115c'
AND questions->'data'->'list' @> '[{"id":"854f4d2a-f37c-42cb-9a1f-17a15454a314"}]';
Run Code Online (Sandbox Code Playgroud)
这不会返回任何内容。
有谁知道如何轻松地做到这一点?
您好,我花了最近几个小时查看此代码,以找出导致此内存错误的原因.我一再被告知,这是一种解放从未被摩擦过的东西或两次释放东西的情况,但我已经完成并缩减了代码,以确保这些都不可能.整个项目是一个链表,但我已经取出了项目的大部分组件,以尽可能小地复制错误.谢谢!代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "list.h"
struct lnode{
int count;
int line;
struct lnode *next;
char *word;
};
struct lnode* newNode (char* word, int line) {
struct lnode *myNode = malloc(sizeof(struct lnode*));
myNode->word = (char*)malloc((strlen(word))*sizeof(char));
strcpy(myNode->word,word);
myNode->count = 1;
myNode->line = line;
myNode->next = NULL;
return myNode;
}
void freeNode(struct lnode * myNode){
//free(myNode->word);
//myNode->word = NULL;
free(myNode);
myNode = NULL;
}
int main(){
struct lnode *n = newNode("Test", 2);
free(n);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
*** glibc …Run Code Online (Sandbox Code Playgroud) 我的 socket.io 应用程序有问题,io.emit() 和 io.sockets.emit() 直接不起作用,它们什么也不做,也没有返回错误。
我在这里提供了我可以在这里制作的代码的最简化版本。
服务器:
var server = require('http').createServer();
var io = require('socket.io')(server);
var port = 8080;
io.use(function(socket, next){
next();
});
io.of('/projects/test_cases').on('connection', function(socket){
io.sockets.emit("test_case_changed", "test1"); // Doesn't do anything
io.emit("test_case_changed", "test2"); // Doesn't do anything
socket.emit("test_case_changed", "test3"); // Works
io.to(socket.id).emit("test_case_changed", "test4"); // doesn't work
});
io.on('connection', function(socket){
socket.on('disconnect', function(){
});
});
server.listen(port, function(){
console.log('listening on *:' + port);
setTimeout(function(){
io.sockets.emit("test_case_changed", "test"); // does nothing
io.emit("test_case_changed", "test"); // does nothing
}, 3000);
});
Run Code Online (Sandbox Code Playgroud)
客户:
<script>
var socket = …Run Code Online (Sandbox Code Playgroud) https://jsfiddle.net/8cvhnwgs/1/
//new Date(year, month, day, hours, minutes, seconds, milliseconds)
$("#out").html(new Date(2015, 5, 31, 08, 25, 30, 0));
Run Code Online (Sandbox Code Playgroud)
我给的日期是5月31日,但它输出7月第一,有人可以解释原因吗?我使用过错了吗?