我有c代码.
FILE * fin = fopen("myfile", "rb");
if (fin == NULL)
{
printf("file myfile does not exist, closing");
return false;
}
Run Code Online (Sandbox Code Playgroud)
它在编译时有效,但在调试模式(步进低谷)中则返回false.检查argv [0]是好的,绝对路径是双向的.
我有一个学校作业创建了一个小游戏,它分为2个不同的项目,一个带有表单的项目和一个带有包含游戏的DLL文件.
游戏循环非常简单,看起来像这样:
private void GameLoop(Graphics g)
{
int lastTick = Kernel32.GetTickCount();
do
{
if (terminated)
break;
while ((lastTick + 50) > Kernel32.GetTickCount())
Application.DoEvents();
while (gamePaused)
Application.DoEvents();
g.FillRectangle(new SolidBrush(Color.White), 0, 0, 800, 640);
DrawWalls(g);
MoveMonsters();
DrawMonsters(g);
lastTick = Kernel32.GetTickCount();
}
while (true);
gameRunning = false;
}
Run Code Online (Sandbox Code Playgroud)
它按预期工作,并重新绘制表单页面上的面板.在表单页面上,我有一个退出当前游戏的按钮,这只是通过调用game.dll的命令TerminateGame()巫婆集终止为真的主窗体完成,这也按预期工作.现在我的问题是当用户点击表单关闭按钮或按F4时.
然后我试着做同样的事情:
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (game.IsRunning)
game.TerminateGame();
}
Run Code Online (Sandbox Code Playgroud)
但后来我不断收到此错误:GDI +中发生了一般错误.它指向这一行:g.FillRectangle(new SolidBrush(Color.White),0,0,800,640);
当我按下刚刚终止游戏的按钮以及为什么它在Form关闭时不工作时,我不知道为什么它有效,它的方法调用相同.
如果我第一次按下按钮然后按F4,表格就会完美关闭,就在我按F4时我会继续这样做.
有任何想法吗?
我需要以编程方式在wordpress管理面板中执行某些操作,但无法管理如何使用C#和HttpWebRequest登录到Wordpress.
这是我做的:
private void button1_Click(object sender, EventArgs e)
{
string url = "http://localhost/wordpress/wp-login.php";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
CookieContainer cookies = new CookieContainer();
SetupRequest(url, request, cookies);
//request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
//request.Headers["Accept-Language"] = "uk,ru;q=0.8,en-us;q=0.5,en;q=0.3";
//request.Headers["Accept-Encoding"] = "gzip,deflate";
//request.Headers["Accept-Charset"] = "windows-1251,utf-8;q=0.7,*;q=0.7";
string user = "test";
string pwd = "test";
request.Credentials = new NetworkCredential(user, pwd);
string data = string.Format(
"log={0}&pwd={1}&wp-submit={2}&testcookie=1&redirect_to={3}",
user, pwd,
System.Web.HttpUtility.UrlEncode("Log In"),
System.Web.HttpUtility.UrlEncode("http://localhost/wordpress/wp-admin/"));
SetRequestData(request, data);
ShowResponse(request);
}
private static void SetupRequest(string url, HttpWebRequest request, CookieContainer cookies)
{
request.CookieContainer = cookies;
request.UserAgent = "Mozilla/5.0 …Run Code Online (Sandbox Code Playgroud) #include <stdio.h>
int doHello(){
doHello();
}
int main(){
doHello();
printf("\nLeaving Main");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当您运行此程序时,程序退出而不在屏幕上打印"Leaving Main"消息.这是Stack Overflow的情况,因为程序正在终止,但我在命令窗口中看不到任何错误消息.(跑在Windows/Cygwin /)
Q1.我没有在doHello函数中声明任何局部变量,但仍在使用堆栈.这是因为
Q2.如何在程序中调试此类案例?我不是要求调试我上面提到的无限循环.
例如:
#define SIZE 512*1024
void doOVerflow(){
char str[SIZE];
doHello();
}
void doHello(){
char strHello[256]; // stack gets filled up at this point
doNothing(); // program terminates and function doNothing does not get called
}
Run Code Online (Sandbox Code Playgroud)
编辑:
Q3.运行时堆栈中存储了哪些信息?
如果在Windows 7中运行Sticky Note,其过程称为StikyNot.exe.其他几个Windows进程将其进程名称保持在8个字母以下.
他们为什么这样做?有什么好处?他们只是坚持过去吗?或者每个人都应该发布8个字母的可执行文件?
这两个工具都将汇编指令直接转换为机器代码,但是有可能确定哪一个生成最快,最干净的代码?
在新文件夹中,使用扩展方法创建一个类.例如:
static public class BugMVCExtension
{
public static int ToInt(this string str)
{
return Convert.ToInt32(str);
}
}
Run Code Online (Sandbox Code Playgroud)选择一个视图并尝试使用这个新的扩展方法
你会得到这个例外:
CS0121: The call is ambiguous between the following methods or properties:
'*MvcApplication1.App_code.BugMVCExtentions.ToInt(string)*' and
'*MvcApplication1.App_code.BugMVCExtentions.ToInt(string)*'
Run Code Online (Sandbox Code Playgroud)
这里有人有关于它的更多信息吗?在ASP.NET MVC(?)Web应用程序中创建App_code是错误的吗?
是否可以在git切换到另一个分支而不检查所有文件?切换分支后,我需要删除所有文件,重新生成它们,提交并切换回来.因此,检出文件只是浪费时间(并且有大约14000个文件 - 这是一个很长的操作).
为了使一切清楚:
我需要所有这些来上传文档到github.
我有gh-pages分支的回购.当我在本地重建文档时,我将其复制到repo目录,提交并推送到github.但我并不高兴,因为我在本地有两份文件.我决定创建空分支并在提交后切换为空并删除文件.但转回来是一个漫长的操作 - 所以我问了这个问题.
我知道我可以离开gh-pages分支并删除文件,但我不喜欢脏工作树)
假设我有基类FooParent,它有很多FooChildren.在运行时,我必须创建一个的实例FooChildren.我该怎么做?我意识到我可以创建一个巨大的地图(并使用代表)或一个巨大的switch/case声明,但这似乎有点草率.在像PHP这样的东西中,我可以像这样动态地创建一个类:
$className="FooClass";
$myNewFooClass=new $className; //makes a new instance of FooClass
Run Code Online (Sandbox Code Playgroud)
(你也可以使用反射来做到这一点).
.NET有这样的东西吗?反思是一种选择,它是否有任何性能损失?如果没有,我还有其他选择吗?
类的类型将由JSON请求确定.变量可以是我想要的任何东西.如果我想要枚举,它可以是整数,或者它可以是完整的类名.我还没有创造它所以我还没有决定.
我试图找到关于套接字编程的例子并且发现了这个脚本:http: //stacklessexamples.googlecode.com/svn/trunk/examples/networking/mud.py
通过这个脚本阅读我发现这一行:listenSocket.listen(5)
据我所知 - 它从缓冲区读取5个字节,然后用它做东西......
但如果另一端发送超过5个字节会发生什么?
在该脚本的另一个位置,它根据4个命令检查输入,并查看字符串中是否有\ r \n.不要像"look"加上\ r \n这样的命令弥补超过5个字节?
艾伦
c# ×4
c ×2
.net ×1
.net-3.5 ×1
asp.net-mvc ×1
assembly ×1
branch ×1
debugging ×1
executable ×1
filenames ×1
gdi+ ×1
git ×1
git-checkout ×1
nasm ×1
python ×1
reflection ×1
sockets ×1
stackless ×1
windows ×1
wordpress ×1