这就是事情.我试图在Lua中以小写字母转换字符串,但它不起作用.我做到了这一点
String = String:lower()
Run Code Online (Sandbox Code Playgroud)
但它不喜欢它.我确信这是做到这一点的方式,我以前见过它.一些网站认为这可能是由错误版本的解释器引起的问题.
有任何想法吗?
所以,臭名昭着的错误又回来了.该项目抱怨它无法找到main()方法(这就是错误的意思,对吧).
但是我确实有一个main,我的项目是一个Console项目,应该是.它以前工作过,所以我知道不是那样的.
此外,该项目有太多的类和文件供我发布,所以我会按要求发布您需要的任何类.
它是Visual Studio 2010上的C++,OpenGL和SDL游戏.它不是任何库的问题,因为它突然之前工作正常并且莫名其妙地显示了这个链接器错误.
编辑:main()方法:
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_ALPHA);
glutCreateWindow("Game");
glEnable(GL_DEPTH_TEST);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
g = Game();
glutInitWindowSize(g.getScreenWidth(), g.getScreenHeight());
//glutPositionWindow(1280, 50);
// Callbacks
glutDisplayFunc(handleRedraw);
glutReshapeFunc(handleResize);
glutMouseFunc(handleMouseClicks);
glutPassiveMotionFunc(handleMouseOvers);
glutKeyboardFunc(handleKeyboardEvents);
glutTimerFunc(50, moveItemToInventory, 0);
glutMainLoop();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 作为我的最后一年项目的一部分,我需要将一些FORTRAN代码转换为C或C++(只要我能理解它,哪种语言无关紧要,我能理解C风格的语言).
我发现f2c,一个据称将FORTRAN转换为C的程序,并尝试按照说明安装它,方法是在我的驱动器上保存makefile.vc文件,然后执行
copy makefile.vc makefile
nmake
Run Code Online (Sandbox Code Playgroud)
(这是有关安装f2c的README文件的一部分,该文件包含在f2c 下载页面中)
要在Linux或Unix系统上编译f2c,请将makefile.u复制到makefile,必要时编辑makefile(参见下面的注释)并输入"make"(或者可能是"nmake",具体取决于您的系统).
要使用Microsoft Visual C++在MS Windows系统上编译f2c.exe,
复制makefile.vc makefile nmake
对于其他PC编译器,您可能需要使用-DMSDOS编译xsum.c(即使用MSDOS #defined).
如果您的编译器不理解ANSI/ISO C语法(即,如果您有K&R C编译器),请使用-DKR_headers进行编译.
在非Unix系统中,文件具有单独的二进制和文本模式,您可能需要"make xsumr.out"而不是"make xsum.out".
我正在运行x64位版本的Windows Vista并尝试"nmake",但我得到了
'nmake'不被识别为内部或外部命令,可操作程序或批处理文件.
我经过一些搜索后下载了Nmake15.exe但它在x64位机器上不起作用,显然没有它的版本.所以我在被告知可行的情况下下载了Windows SDK,但它没有改变任何东西.
我在哪里出错了,如果有的话,有没有办法将FORTRAN代码转换成C或C++?
好吧,我想我把事情变得过于复杂了,现在我迷路了。基本上,我需要将其从 Perl 翻译为 Lua:
my $mem;
my $memfree;
open(FILE, 'proc/meminfo');
while (<FILE>)
{
if (m/MemTotal/)
{
$mem = $_;
$mem =~ s/.*:(.*)/$1/;
}
}
close(FILE);
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经写了这个:
for Line in io.lines("/proc/meminfo") do
if Line:find("MemTotal") then
Mem = Line
Mem = string.gsub(Mem, ".*", ".*", 1)
end
end
Run Code Online (Sandbox Code Playgroud)
但这显然是错误的。我没有得到什么?我明白为什么它是错误的,它实际上在做什么,以及为什么我这样做
print(Mem)
Run Code Online (Sandbox Code Playgroud)
它返回
.*
Run Code Online (Sandbox Code Playgroud)
但我不明白什么是正确的方法。正则表达式让我困惑!
我试图了解Lua中string.find和string.match之间的区别。在我看来,两者都在字符串中找到了模式。但是有什么区别呢?以及如何使用它们?说,如果我有字符串“磁盘空间:3000 kB”,我想从中提取“ 3000”。
编辑:好的,我想我把事情复杂化了,现在迷路了。基本上,我需要将其从Perl转换为Lua:
my $mem;
my $memfree;
open(FILE, 'proc/meminfo');
while (<FILE>)
{
if (m/MemTotal/)
{
$mem = $_;
$mem =~ s/.*:(.*)/$1/;
}
elseif (m/MemFree/)
{
$memfree = $_;
$memfree =~ s/.*:(.*)/$1/;
}
}
close(FILE);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经写了这个:
for Line in io.lines("/proc/meminfo") do
if Line:find("MemTotal") then
Mem = Line
Mem = string.gsub(Mem, ".*", ".*", 1)
end
end
Run Code Online (Sandbox Code Playgroud)
但这显然是错误的。我没有得到什么?我了解为什么错了,它实际上在做什么以及为什么在什么时候做
print(Mem)
Run Code Online (Sandbox Code Playgroud)
它返回
.*
Run Code Online (Sandbox Code Playgroud)
但我不知道什么是正确的方法。正则表达式使我感到困惑!
正如标题所示,我尝试使用 DevIL 加载图像,然后将其传递给 OpenGL。我使用这段代码作为错误控制
const char* filename = "back.bmp";
if (!ilLoadImage(filename))
{
throw runtime_error(std::string("Unable to load image") +filename);
}
Run Code Online (Sandbox Code Playgroud)
对于 if 语句,返回错误
error C2664: 'ilLoadImage' : cannot convert parameter 1 from 'const char *' to 'const wchar_t *'
Run Code Online (Sandbox Code Playgroud)
如果我定义filename
为const wchar_t* filename
,我会收到错误
error C2664: 'ilLoadImage' : cannot convert parameter 1 from 'const char *' to 'const wchar_t *'
Run Code Online (Sandbox Code Playgroud)
所以现在我不会因为好奇为什么 [filename].bmp 文件是 wchar_t* 类型,或者 wchar_t 是什么(谷歌让我困惑)而让你感到好奇,我只会问我必须做什么才能使它工作:为什么它不起作用?我错过了什么?我确信一定有一个非常简短的解决方案。它看起来就像是那种错误。
谢谢。
我正在尝试加载并显示一个具有透明度的.png图像.整个图像不透明,它只是我在Photoshop中裁剪的包的图片,周围有透明度.我需要将它加载到我在C++上使用SDL和OpenGL的程序,但是当我尝试它而不是正确显示时,图像中包的空间是"模糊的"(我只能这样说).我所说的是,透明度不起作用.
到目前为止这是我的代码:
init()方法:
SDL_Surface *surface;
GLenum texture_format;
GLint nOfColors;
if ( (surface = IMG_Load("bag.png")) ) {
// Check that the image's width is a power of 2
if ( (surface->w & (surface->w - 1)) != 0 ) {
printf("warning: bag.png's width is not a power of 2\n");
}
// Also check if the height is a power of 2
if ( (surface->h & (surface->h - 1)) != 0 ) {
printf("warning: bag.png's height is not a power of 2\n");
} …
Run Code Online (Sandbox Code Playgroud) 我知道我可以像这样连接Lua中的字符串
String = String .. 'more'
Run Code Online (Sandbox Code Playgroud)
但是如果我想添加HTML并希望(显然)保持它的外观呢?例如,我该如何克服
luac: Perl to Lua:226: unfinished string near '''
Run Code Online (Sandbox Code Playgroud)
我这样做时得到的错误
Html_string = Html_string .. "
<tr>
<th class=row>" . gettext("Last Upgrade") . "</th>
<td title=\"Upgrade_date\"Upgrade_status</td>
</tr>
"
Run Code Online (Sandbox Code Playgroud) 所以我想发送带参数的GET请求.但它似乎只有您发送请求的URL的约定.与POST请求不同,我认为无法在其中传递参数.
我现在如何发送GET请求,没有参数(可能是错误的):
String url = "http://api.netatmo.net/api/getuser";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
//add request header
con.setRequestProperty("User-Agent", USER_AGENT);
int responseCode = con.getResponseCode();
Log.v(TAG, ("\nSending 'GET' request to URL : " + url));
Log.v(TAG, ("Response Code : " + responseCode));
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
Log.v(TAG, (response.toString()));
Run Code Online (Sandbox Code Playgroud)
我如何使用参数发送POST请求:
String url = …
Run Code Online (Sandbox Code Playgroud)