小编tor*_*ing的帖子

从未见过C方法初始化Linux内核源代码中发现的结构数组

55 typedef struct pidmap {
56         atomic_t nr_free;
57         void *page;
58 } pidmap_t;
59 
60 static pidmap_t pidmap_array[PIDMAP_ENTRIES] =
61          { [ 0 ... PIDMAP_ENTRIES-1 ] = { ATOMIC_INIT(BITS_PER_PAGE), NULL } };
Run Code Online (Sandbox Code Playgroud)

上面的代码片段显示了我在Linux内核源代码中找到的结构数组的初始化.我之前从未见过这种形式的初始化,我无法自己模拟同样的事情.我到底错过了什么?

代码的来源

c linux arrays struct

6
推荐指数
2
解决办法
1017
查看次数

无法将数据包从一个接口路由到另一个接口

我有一个带有2个接口的系统eth0,和eth1.

  • eth0192.168.0.250和连接到网关192.168.0.2.
  • eth1192.123.123.10通过swtich 连接.

我正在尝试将数据包路由192.123.123.10到网关192.168.0.2,这意味着我需要通过接口路由192.123.123.x进入eth1接口的数据包eth0.

我把ip_forward文件设置为1.我运行了这个命令:

route add -net 192.123.0.0 netmask 255.255.255.0 dev eth0
route add default gw 192.168.0.2
Run Code Online (Sandbox Code Playgroud)

我可以ping 129.123.123.10192.168.0.250,但我无法ping通,192.168.0.2 我认为数据包没有被转发到eth0.

我的路由表看起来像这样:

gteway Genmask Flags Ref Iface
192.123.123.0 * 255.255.255.0 U eth1
192.168.0.0 * 255.255.255.0 U eth0
192.123.0.0 * 255.255.255.0 U eth0
default 192.168.0.2 0.0.0.0 UG eth0
Run Code Online (Sandbox Code Playgroud)

谁能告诉我缺少什么?先感谢您.

linux networking routing

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

我应该直接在代码中使用Linq To SQL还是使用其他方法?

我们正在开发一个项目,ASP.NET/C#其中不是一个非常大的项目,而是一个相当大的项目.目前我们开发了几页.我现在正在谈论单页的观点.到目前为止,每个页面都遵循这种方法.

在我的页面背后的代码中,我们Linq To SQL直接使用查询.该insert operation做,queries以填补dropdownlists和其他database相关操作在自己后面的代码中使用.

我们使用函数.其他页面也是如此.

我的问题是我应该将它们包含在class文件中,然后创建objects并调用适当的方法来完成我的工作吗?

如果是,我们应该创建单个class还是每页创建一个类.这叫做创造吗Data Access Layer

任何人都可以帮我建议一个正确的方法吗?

这种方法是一种很好的编程习惯吗?

这是我们在后面的代码中使用的一个简单函数

public void AccountTypeFill()
        {
            //Get the types of Account ie Entity and individual
            var acc = from type in dt.mem_types
                       select type.CustCategory;
            if (acc != null)
            {
                NewCustomerddlAccountType.DataSource = acc.Distinct().ToList();
                NewCustomerddlAccountType.DataBind();  
            }
        }
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出一个引用此查询的简单示例吗?

我希望我的问题有道理.欢迎任何建议.

c# asp.net linq-to-sql

6
推荐指数
1
解决办法
1010
查看次数

在zsh与bash中的`bg`命令之前略有不同

今天我发现了一个奇怪的行为,我希望我可以得到一些方向.

这就是我正在做的......

至少有一个进程已在后台运行,我中断(Ctrl+ Z)前台进程,然后将其放在后台bg.

以下是结果zsh:

$ some-long-running-command
^Z
zsh: suspended  some-long-running-command
$ bg
[2]  - continued  some-long-running-command
$ jobs
[1]  + running    other-command-previously-run
[2]  - running    some-long-running-command
$
Run Code Online (Sandbox Code Playgroud)

以下是它的样子bash:

$ other-command-previously-run &
[1] 12345
$ some-long-running-command
^Z
[2]+  Stopped                 some-long-running-command
$ bg
[2]+ some-long-running-command &
$ jobs
[1]-  Running                 other-command-previously-run &
[2]+  Running                 some-long-running-command &
$ 
Run Code Online (Sandbox Code Playgroud)

那么为什么bash将进程保留在后台bg作为"当前"进程(用"+"表示,如果fg运行则将恢复),同时zsh将"其他"进程设置为当前进程?我找不到任何文件表明行为会有所不同......有趣的是,如果你做了几个fg+ ^Z+ bgin …

bash shell zsh

5
推荐指数
1
解决办法
1913
查看次数

Windows 服务启动然后立即停止

我创建了一个 Windows 服务,该服务创建一个表单,其中创建一个工具条图标来管理套接字。我可以通过在 Visual Studio 中创建的安装程序进行安装,但是当我转到“服务”并启动我的服务时,它给我一个错误,指出它立即启动并停止。

这是服务代码:

public Service()
    {
        InitializeComponent();
    }

    protected override void OnStart(string[] args)
    {
        base.OnStart(args);

        ServiceName = "WizardServer";
        CanPauseAndContinue = false;
        CanHandleSessionChangeEvent = true;
        CanStop = true;

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        try
        {
            connectionHandler = new ConnectionHandler();  
            serviceThread = new System.Threading.Thread(new ThreadStart(serviceTarget));
            alive = true;
            serviceThread.Start();
        }
        catch {}
    }

    private void serviceTarget()
    {
        Application.Run(new Form1(connectionHandler));

        while (alive) 
        {
            Thread.Sleep(10000);
        }
    }

    protected override void OnStop()
    {
        base.OnStop();

        try
        {
            connectionHandler.stop();
        }
        catch {}

        serviceThread.Abort();

        alive = false; …
Run Code Online (Sandbox Code Playgroud)

c# windows-services visual-studio-2010 visual-studio c#-4.0

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

使用signed char表示网络地址的原因?

struct hostent(在windows和unices下),例如gethostbyname()et al.使用指向签名的指针保持虚线地址char.

如果预先知道地址可以并且大多数包含大于127的数字,并且它们最终表示未签名,那么这有什么好处?具有可签名性是否有任何好处,涵盖任何边缘案例?或者它只是一个历史包袱?

c network-programming ip-address

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

即使一个集合是EMPTY,获取笛卡尔积的LINQ查询是什么?

想象一下,我有2个列表,一个是空的:

List<string> foo = new List<string>(){ "Ali","wall-e","Ellie" };
List<string> bar = new List<string>();
Run Code Online (Sandbox Code Playgroud)

我获得了2的笛卡尔积:

var q = from f in foo
    from b in bar
    select new {f,b};
Run Code Online (Sandbox Code Playgroud)

当bar为空时,LINQ返回空结果集.

问题:如何编写上述查询以便我可以收到此结果集:

Ali,NULL

Wall-e,NULL

Ellie,NULL
Run Code Online (Sandbox Code Playgroud)

.net c# linq left-join cartesian-product

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

如何在java中的静态方法中使用此关键字?

有没有办法this在Java中的静态方法中使用关键字?我想在我的activity类中的静态方法中显示Toast消息.我怎么做?谢谢.

java static android this

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

pthread_cancel()函数无法终止线程

我正在使用pthread_create()pthread_cancel()函数来创建一个多线程程序,但我注意到它pthread_cancel()并没有真正终止它应该的线程.

void check(void *param){
    header_t *Bag = (header_t *) param;
    pthread_t timer_thread;
    while(true){
        if(Bag->size && TIMER_OFF){
            pthread_create(&timer_thread, NULL, (void *) &timer, (void *) Bag);
            printf("\nCREATE THREAD ID = %d\n", timer_thread);
            // ADD
        }
        else if(!TIMER_OFF && Bag->size >= 2 && Bag->next->time <= CURRENT_APT_TIME && CRRENT_TAG != Bag->next->tag){
            printf("\nOLD THREAD ID = %d TO BE CANCELLED\n", timer_thread);
            pthread_cancel(timer_thread);
            pthread_create(&timer_thread, NULL, (void *) &timer, (void *) Bag);
            printf("\nNEW THREAD ID = %d\n", timer_thread);
            // Replace
        } …
Run Code Online (Sandbox Code Playgroud)

c multithreading pthreads

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

如何更改!isset语句

我有一个PHP页面,下面的代码.MySQL查询工作正常,但我尝试添加一个无效的IF语句.该if(!isset($result))语句应该捕获表只包含FUTURE日期时间值的情况.我显然没有正确使用它,或者我应该使用别的东西 - 比如if(empty())

<?php

include 'quantitytest_config.php';

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
  or die("Unable to connect to MySQL");

//select a database to work with
$selected = mysql_select_db("grace59_countdown",$dbhandle) 
  or die("Could not select countdown");

//execute the SQL query and return records
$result = mysql_query(
    "SELECT items 
    FROM cases 
    WHERE datetime<=NOW()
    Limit 1 ");

// check if there are only future dates in Database
if(!isset($result)){
    echo "9999";
} else {

//fetch tha data from the database …
Run Code Online (Sandbox Code Playgroud)

php mysql

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