小编zeb*_*und的帖子

在C#中使用正确的IntPtr

我理解IntPtr的使用,虽然我真的不确定.

我从MSDN复制IDisposable模式只是为了看看我能从中得到什么,虽然我在大多数情况下理解它,但我不知道如何正确实现IntPtr,或者甚至不知道它应该"指向什么" "参考或参考.最重要的是,我不知道如何为IntPtr分配或转换整数,字符串,字符,双精度等来创建指针.

此外,IntPtr是否需要使用不安全的代码?

无论如何,这里有一些代码只是为了描绘我正在谈论的内容:

namespace Utilities
{   
    class Disposer : IDisposable
    {

        private IntPtr handle;

        private Component component = new Component(); 

        private bool disposed = false;

        public Disposer(IntPtr handle)
        {
            this.handle = handle;

        }

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }

        protected virtual void Dispose(bool disposing)
        {
            if(!this.disposed)
            {
                if (disposing)
                {
                    component.Dispose(); 
                }
                CloseHandle(handle);

                handle = IntPtr.Zero;

                disposed = true;

            }
        }

        [System.Runtime.InteropServices.DllImport("Kernal32")]
        private extern static Boolean CloseHandle(IntPtr handle);
    }



    public unsafe class ExecuteMain
    {
        Object …
Run Code Online (Sandbox Code Playgroud)

c# idisposable intptr

11
推荐指数
3
解决办法
2万
查看次数

Linux中的Objective-C

可能重复:
Objective-C和linux上的游戏编程

我知道开发iPhone应用程序(至少是无痛的)几乎需要Mac.但是,是否可以在Linux中使用Objective-C开发普通的桌面应用程序?例如,我可以使用Objective-C的开发库制作游戏,并将其发布到Linux而不是iOS吗?

linux objective-c

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

对于2D RPG,XML与YAML对比JSON

我无法弄清楚是否为C++ 2D RPG使用XML,YAML或JSON.

这是我的想法:

  • 我需要一些简单的东西,不仅可以保存玩家数据,还可以保存环境数据,例如对象(x,y)坐标; 加载时间; 日期; 图形配置等

  • 我需要一些灵活,易于使用且重量轻但功能强大的东西来处理上述问题.

哪个是最好的选择?我有使用JSON的经验,但不是C++.如果这是要走的路线,那么在C++中解析JSON是否有任何好的参考?

编辑

老实说,如果一个文本文件看起来像这样的最简单和最有效的解决方案(特别是如果我可以把它写成二进制),那么我全都耳朵.

编辑2

随意提供其他建议.

c++ xml json yaml

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

使用make将.o文件移动到单独的目录中

我已经尝试过多次尝试将我的.o文件移动到我的obj文件夹,但不管我做什么,它只是不起作用.

从提供的makefile判断,将文件移动.o到指定文件夹的最佳方法是什么?

BIN = bin/
OBJ = obj/
TARGET = opengl_03
DEPS = main.o  displayinit.o initializer.o algorithms.o matrix3f.o window.o vertex3.o
CC = g++
CFLAGS = -g 
LIBS = -lglut -lGLEW -lGL 
INCLUDEPATH = -L/usr/include/ -L/usr/lib/ -L/usr/lib/x86_64-linux-gnu/

$(TARGET) : $(DEPS)
    $(CC) $(CFLAGS) -o $(BIN)$(TARGET) $(DEPS) $(LIBS) $(INCLUDEPATH) 

displayinit.o : displayinit.cpp displayinit.h
    $(CC) $(LIBS) $(INCLUDEPATH) -c displayinit.cpp && mv displayinit.o $(OBJ)displayinit.o
initializer.o : initializer.cpp initializer.h
    $(CC) $(LIBS) $(INCLUDEPATH) -c initializer.cpp $(OBJ)
algorithms.o : algorithms.cpp algorithms.h
    $(CC) …
Run Code Online (Sandbox Code Playgroud)

c++ makefile compilation object

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

在x64位处理器上编写x86程序集

例如,我正在运行Windows 7 64位,但似乎所有用于学习汇编语言的最佳资源都是关于x86的.如果可以在x64上编写x86,那么最好的方法是什么?是否存在转换器?另外,64位汇编编程有哪些好的资源?

x86 assembly windows-7-x64

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

初始化非指针类成员

最近,我一直在阅读来自广受欢迎的C++ FAQ的构造函数.其中一个条目提到最好使用初始化列表,而不是在构造函数本身的代码块中初始化类成员.

这是因为编译器倾向于创建类成员的多个副本,而不是简单地创建一个副本.

Foo::Foo( void )
    : mBar( new Bar ) //pointer to some memory address
{
}
Run Code Online (Sandbox Code Playgroud)

Foo::Foo( void )
{
    mBar = new Bar;
}
Run Code Online (Sandbox Code Playgroud)

它还指出了一件事(并且,虽然这与构造函数有关,但它也与通常非成员函数的对象的纯初始化有关)是在通过如下方法初始化对象时:

void f( void )
{
    Foo foo( Bar() ); //Bad.

    foo.x(); //error
}
Run Code Online (Sandbox Code Playgroud)

你会,我引用:"[declare] a non-member function that returns a Foo object".

(有关详细信息,请单击上面的链接)

问题

因此,拥有以下内容是不明智的:

Geometry::Geometry( void )
    : mFaces( QVector< GLushort >() ),
      mFinalized( false ),
      mNormals( QVector< QVector3D >() ),
      mVerticies( QVector< QVector3D …
Run Code Online (Sandbox Code Playgroud)

c++ stack constructor initialization class-members

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

C# - 使用Vim是主编辑器

我喝了库尔援助.Vim非常漂亮,我必须学习如何使用它并将其配置为具有出色的编译器.这是最好的学习方式.

问题是,我从哪里开始?是否有一个很好的教程可以在Linux中教授Vim for C#,但是假设你对Vi一般都知之甚少?

对任何可以提供此产品的人都给予了巨大的赞誉.认真.

c# vim

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

链接到Qt中的共享库

我刚刚创建了tinyxml作为共享库,并想知道如何链接它.这是如何完成的?

c++ qt shared-libraries

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

是否需要main.cpp?

我试图编译一个程序cmake,我最后删除了我的main.cpp文件,我刚刚将其复制到另一个文件中,该文件中包含了我的项目名称(即,我只是将主要功能剪切并粘贴到该文件中).问题是我得到了一个main.cpp未找到的错误,并且不确定是否在C++一个已知的文件中main.cpp,或者我是否可以使用包含函数main的不同标题的文件?

编辑 我应该注意,我删除任何规范main并重新编译此程序.

c++ syntax program-entry-point

7
推荐指数
2
解决办法
9077
查看次数

PHP 拒绝从 var_dump、print 等输出数据

我目前正在运行 WAMP 服务器,并且在过去的 30 分钟内一直在尝试弄清楚我的项目如何以及为什么不会输出任何指定的 PHP 数据。

起初,我以为这是因为我有一个.htaccess文件禁用了output_buffering,所以我删除了它。仍然没有骰子。然后,我检查了我的httpd.conf,四处寻找诸如display_errorsoutput_buffering等关键字,所有内容似乎都检查得很好。

error_reporting( E_ALL )然后,我尝试通过放入脚本来打开所有错误报告。再说一遍,没有骰子。

当然,在我进行了大部分更改之后,我重新启动了 WAMP 服务器,但仍然没有真正在屏幕上显示任何内容。请注意,虽然我的 print 和 var_dump 语句似乎不起作用,但我的错误肯定会毫无问题地显示出来。

我的 PHP 版本是 PHP 5.3.10。

因此,我在这里有点不知所措;我应该怎么办?

编辑

还有一些值得注意的事情:phpinfo()工作正常,并且 WAMPServer GUI 就在那里。我可以从那里查看我的配置设置、项目、PHPInfo 等。

另外,当我尝试从 Firefox 中检查该元素时,我什么也没得到。与查看源代码相同。

编辑2

有消息告诉我,可能是 Aptana Studio 导致了问题:例如,当我运行 PHP 文件时,它会将我带到127.0.0.1:8020,我的 localhost 实际上是localhost:8080。当然,在8020版本上,我得到的只是所编写代码的输出。

有没有人有过类似的经历?

文档、代码等

测试.php

<?php

include_once( 'includes/database.php' );

use includes\Database;

$database = new Database( 'evolve_admin' );

$res = $database->fetchRow(
    'evol_users', 
    array( 'user.id', 'user.email', 'user.firstname' …
Run Code Online (Sandbox Code Playgroud)

php apache debugging wampserver var-dump

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