问题列表 - 第14118页

代表C中的动态类型

我正在写一种动态类型的语言.目前,我的对象以这种方式表示:

struct Class { struct Class* class; struct Object* (*get)(struct Object*,struct Object*); };
struct Integer { struct Class* class; int value; };
struct Object { struct Class* class; };
struct String { struct Class* class; size_t length; char* characters; };
Run Code Online (Sandbox Code Playgroud)

目标是我应该能够将所有内容作为a传递struct Object*,然后通过比较class属性来发现对象的类型.例如,要转换一个整数以供使用,我只需执行以下操作(假设它integer是类型struct Class*):

struct Object* foo = bar();

// increment foo
if(foo->class == integer)
    ((struct Integer*)foo)->value++;
else
    handleTypeError();
Run Code Online (Sandbox Code Playgroud)

问题是,据我所知,C标准没有对如何存储结构做出承诺.在我的平台上这是有效的.但是在另一个平台struct String可能存储value之前class和我foo->class在上面访问时我会实际访问foo->value,这显然很糟糕.便携性是这里的一个重要目标.

这种方法有其他选择:

struct …
Run Code Online (Sandbox Code Playgroud)

c data-representation

12
推荐指数
3
解决办法
3189
查看次数

该操作已超时使用WebClient.DownloadFile并更正了url

我是批量上传产品到数据库.

我将图像网址下载到用于产品的网站.

我编写的代码在前25次迭代中工作正常(由于某种原因总是那个数字),但随后抛出一个System.Net.WebException"操作已经超时".

if (!File.Exists(localFilename))
{
    using (WebClient Client = new WebClient())
    {
        Client.DownloadFile(remoteFilename, localFilename);
    }
}
Run Code Online (Sandbox Code Playgroud)

我检查了它正在请求的远程URL,它是一个返回图像的有效图像URL.

此外,当我使用调试器单步执行它时,我没有收到超时错误.

救命!;)

.net c# webclient download

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

无法通过php 5.3.0写入SQlite3上的chmod 777数据库文件

我正在尝试将数据插入到我的SQlite3数据库中(这可以通过命令行工作).我给了data1.db文件777权限,但仍然说它无法打开文件.

我收到此错误:

Warning: SQLite3::exec() [sqlite3.exec]: unable to open database file in /var/www/test.php on line 3
Run Code Online (Sandbox Code Playgroud)

使用此代码:

$db = new SQLite3('./data1.db');
$db->exec("INSERT INTO table1 (fileName) VALUES ('test.txt')");
Run Code Online (Sandbox Code Playgroud)

但奇怪的是我可以从数据库中读取:(这有效)

print_r($db->querySingle('SELECT fileName FROM table1', true));
Run Code Online (Sandbox Code Playgroud)

我正在运行PHP 5.3.0

php sql sqlite

21
推荐指数
1
解决办法
3万
查看次数

此处的表达式具有int类型,但与类型单位一起使用

我有以下代码:

#light
let rec fib n = 
    if n=0 || n=1 then 1 //<- here on the "1"
    n + fib n-1 + fib n-2
Run Code Online (Sandbox Code Playgroud)

我该如何解决?[我见过这个,但没有帮助]

f#

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

将Git远程HEAD更改为指向除master之外的其他东西

如何将Git遥控器的HEAD引用设置为指向除"master"之外的其他内容?

我的项目有一个不使用"主"分支的策略(所有分支都有有意义的名称).此外,规范主存储库只能通过ssh://访问,没有shell访问权限(如GitHub或Unfuddle).

我的问题是远程存储库仍然有一个HEAD引用refs/heads/master,但我需要它指向一个不同的分支.这导致两个问题:

  1. 克隆回购时,有这个,

    警告:远程HEAD是指不存在的ref,无法结帐.

    这令人困惑和不方便.

  2. 基于Web的代码浏览器依赖于HEAD作为浏览树的基础.我需要HEAD指向一个有效的分支,然后.

git git-remote git-branch

120
推荐指数
8
解决办法
17万
查看次数

CouchDB多个标签

有没有办法在CouchDB中实现多个标签搜索?我有文件(帖子),每个文件都有多个标签.我需要找到标记有任意标记集的帖子.我该怎么做?我当然可以通过对视图的多次调用来完成它,该视图为我提供了标签的文档,然后在我的应用程序中对其进行排序,但我想知道是否有办法在CouchDB视图中实现相同的目的.

couchdb

13
推荐指数
2
解决办法
4536
查看次数

范围以及如何使用VB.Net缩小范围

如果我想在C#中缩小变量的范围,我可以引入额外的括号 - 即:

class Program
{
    static void Main(string[] args)
    {
        myClass x = new myClass();
        x.MyProperty = 1000;
        Console.WriteLine("x = " + x.MyProperty);

        {
            myClass y = new myClass();
            y.MyProperty = 2000;
            Console.WriteLine("y = " + y.MyProperty);
        }

        myClass y2 = new myClass();
        y2.MyProperty = 3000;
        Console.WriteLine("y2 = " + y2.MyProperty);

    }

    class myClass
    {

        public int MyProperty { get; set; }

    }
}
Run Code Online (Sandbox Code Playgroud)

在ide中,我不能再在新大括号引入的范围之外引用y.我原以为这意味着变量y可用于垃圾收集.

(有趣的是,当使用反射器查看编译后的代码时,无论是否有额外的大括号,都没有区别)

使用VB.net时是否有类似的方法缩小范围?这对内部作用域中定义的变量何时可能被垃圾收集有影响吗?

c# vb.net reflector scope

5
推荐指数
2
解决办法
812
查看次数

删除多个类(jQuery)

有没有更好的方法来重写这个:

$('element').removeClass('class1').removeClass('class2');
Run Code Online (Sandbox Code Playgroud)

我不能使用,removeClass();因为它会删除所有类,我不想要.

css jquery

596
推荐指数
5
解决办法
30万
查看次数

从资源管理器运行 powershell 脚本 = 执行策略错误

  1. 在 Windows 7 final 我已经完成了:Set-ExecutionPolicy unrestricted
  2. 在windows资源管理器中,我选择一个script.ps1文件,选择打开方式,放入c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe
  3. Powershell 窗口会短暂闪烁,并显示有关执行策略的错误。

脚本在 powershell 中运行良好。如何从 Windows 资源管理器中运行它们?

powershell

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

如何在MySQL中设置初始值和自动增量?

如何设置从1001开始的MySQL表中"id"列的初始值?

我想做一个插入 "INSERT INTO users (name, email) VALUES ('{$name}', '{$email}')";

不指定id列的初始值.

mysql insert auto-increment

264
推荐指数
9
解决办法
51万
查看次数