问题列表 - 第7627页

查找定义 C 函数的头文件

应该不难吧?对?

我目前正在搜索 OpenAFS 代码库以查找 pioctl 的标头定义。我已经把所有的东西都扔了:检查 ctags,搜索 pioctl 的源代码等。我最接近线索的是,有一个包含定义的文件 pioctl_nt.h,除了它是实际上不是我想要的,因为没有一个用户空间代码直接包含它,而且它是特定于 Windows 的。

现在,我不希望您去下载 OpenAFS 代码库并为我找到头文件。不过,我很好奇:当其他一切都失败时,您有什么技巧可以找到所需的头文件?最坏的情况是什么,可能导致代码库中 pioctl 的 grep 实际上没有提出任何看起来像函数定义的东西?

我还应该注意,我可以访问两个已经正确完成的独立用户空间程序,因此理论上我可以对函数进行 O(n) 搜索。但是没有一个头文件弹出给我,而且 n 很大......

编辑:当前问题已解决:pioctl() 是隐式定义的,如下所示:

AFS.xs:2796: error: implicit declaration of function ‘pioctl’
Run Code Online (Sandbox Code Playgroud)

c header openafs

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

如何强制makefile重建目标

我有一个生成的makefile,然后调用另一个makefile.由于这个makefile调用更多makefile来完成工作,因此它并没有真正改变.因此,它一直认为项目是建立和最新的.

dnetdev11 ~ # make
make: `release' is up to date.
Run Code Online (Sandbox Code Playgroud)

如何强制makefile重建目标?

clean = $(MAKE) -f ~/xxx/xxx_compile.workspace.mak clean


build = svn up ~/xxx                                                       \
        $(clean)                                                                \
        ~/cbp2mak/cbp2mak -C ~/xxx ~/xxx/xxx_compile.workspace        \
        $(MAKE) -f ~/xxx/xxx_compile.workspace.mak $(1)                    \


release:
        $(build )

debug:
        $(build DEBUG=1)

clean:
        $(clean)

install:
        cp ~/xxx/source/xxx_utility/release/xxx_util /usr/local/bin
        cp ~/xxx/source/xxx_utility/release/xxxcore.so /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

注意:删除名称以保护无辜者

编辑:最终修正版:

clean = $(MAKE) -f xxx_compile.workspace.mak clean;


build = svn up;                                         \
        $(clean)                                        \
        ./cbp2mak/cbp2mak -C . xxx_compile.workspace;   \
        $(MAKE) -f xxx_compile.workspace.mak    $(1);   \


.PHONY: release debug clean …
Run Code Online (Sandbox Code Playgroud)

linux makefile

159
推荐指数
9
解决办法
17万
查看次数

如何根据App Engine中的电子邮件地址确定user_id?

最新的App Engine SDK(1.2.1)具有API调用,用于根据用户帐户的电子邮件地址计算用户帐户的ID.(即使用户稍后更改了地址,ID仍保持不变.)有关信息的唯一,不透明用户ID,请参阅此问题.但是,我有这个API调用的问题.

user_id()适用于登录用户(即从users.get_current_user),但它返回Noneusers.User()构造函数创建的对象.**什么给出?

例如,使用优秀的App Engine控制台,此代码不起作用.

>>> import google.appengine.api.users
>>> me = google.appengine.api.users.get_current_user()
>>> me
users.User(email='jason.h.smith@gmail.com',_user_id='105261964646342707921')
>>> me.user_id()
'105261964646342707921'
>>> somebody = google.appengine.api.users.User('someone@gmail.com')
>>> somebody
users.User(email='someone@gmail.com')
>>>somebody.user_id()
>>> type(somebody.user_id())
<type 'NoneType'>
Run Code Online (Sandbox Code Playgroud)

我想要一种简单的方法将电子邮件地址转换为用户ID. 我怎样才能提前从Google强制提供此ID; 或者如果不可能,为什么不呢?

编辑:这是当前的解决方法.

感谢Nick Johnson的回答.以下是他的解决方案:

>>> from google.appengine.ext import db
>>> from google.appengine.api import users
>>> class User(db.Model):
...   user = db.UserProperty(required=True)
...
>>> def email_to_userid(address):
...   """Return a stable user_id string based …
Run Code Online (Sandbox Code Playgroud)

email google-app-engine user-identification

13
推荐指数
1
解决办法
3183
查看次数

Python:避免关于太多参数的pylint警告

我想将一个大的Python函数重构为较小的函数.例如,请考虑以下代码段:

x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
Run Code Online (Sandbox Code Playgroud)

当然,这是一个微不足道的例子.在实践中,代码更复杂.我的观点是它包含许多必须传递给提取函数的局部范围变量,它们可能如下所示:

def mysum(x1, x2, x3, x4, x5, x6, x7, x8, x9):
    x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
    return x
Run Code Online (Sandbox Code Playgroud)

问题是pylint会触发有关太多参数的警告.做以下事情可以避免警告:

def mysum(d):
    x1 = d['x1']
    x2 = d['x2']
    ...
    x9 = d['x9']
    x = x1 + x2 + x3 + x4 + x5 + x6 + x7 …
Run Code Online (Sandbox Code Playgroud)

python refactoring pylint

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

WPF:路由事件或定期事件?

在WPF中,我们已经路由了事件.应该何时使用这些而不是常规事件?

wpf events routed-events

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

帮助php空白页?

我经营一个梦幻篮球联赛.我的php网站/ sql数据库旨在让运行团队的人通过网站完成所有事情 - 他们可以放弃玩家,玩家自动进入FA池等.

直到大约一周前,一切都运作良好.现在任何时候团队去签署一个玩家,点击"签名"后,他们会得到一个空白的PHP页面.我不知道为什么 - 我没有对任何文件进行调整.它刚刚开始发生.下面是空白PHP页面的代码 - 有人可以帮忙吗?

<?php

$username = "me";
$password = "mypassword";
$database = "mydatabase";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$Team_Offering = $_POST['Team_Name'];
$Fields_Counter = $_POST['counterfields'];
$Roster_Slots = $_POST['rosterslots'];
$Healthy_Roster_Slots = $_POST['healthyrosterslots'];
$Type_Of_Action = $_POST['Action'];

$queryt="SELECT * FROM nuke_ibl_team_info WHERE team_name = '$Team_Offering' ";
$resultt=mysql_query($queryt);

$teamid=mysql_result($resultt,0,"teamid");

$Timestamp = intval(time());


// ADD TEAM TOTAL SALARY FOR THIS YEAR

$querysalary="SELECT * FROM nuke_iblplyr WHERE teamname = '$Team_Offering' AND retired = 0 ";
$results=mysql_query($querysalary);
$num=mysql_numrows($results);
$z=0; …
Run Code Online (Sandbox Code Playgroud)

php

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

使用javascript在html表中创建链接

我使用以下代码动态地将列添加到html表:

var tblHeadObj = window.opener.document.getElementById("maintable").tHead;
var j=0;
while(j < fname.length)
{ 
  if(tblHeadObj != null) 
  {
    for(var h = 0; h < tblHeadObj.rows.length; h++) 
    {
      var newTH = window.opener.document.createElement('th');

      tblHeadObj.rows[h].appendChild(newTH);
      //newTH.innerHTML='[th]row:'+h+'cell:'+(tblHeadObj.rows[h].cells.length-1)
    }
  }
  var tblBodyObj = window.opener.document.getElementById("maintable").tBodies[0];
  //for(var i = 0; i < tblBodyObj.rows.length; i++) {
  var newCell=tblBodyObj.rows[0].insertCell(-1);
  var newCell=tblBodyObj.rows[0].insertCell(-1);
  // newCell.innerHTML = (tblBodyObj.rows[0].cells.length - 1)
  newCell.innerHTML=  fname[j];
  j++;
}
Run Code Online (Sandbox Code Playgroud)

现在我想把列作为链接​​.我怎么能这样做?

谢谢

html javascript dom

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

jQuery:为什么我不能在滚动事件中访问事件对象?

我想访问原始事件对象,但对象返回undefined ..

$(window).scroll(function(event) {
        alert(event.pageX);
    });
Run Code Online (Sandbox Code Playgroud)

我只是尝试这个,如果它会工作.这个例子尽可能基本,所以我也可以解决其他事件.

javascript jquery

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

一个exe中的多个Windows服务

我正在尝试构建几个Windows服务来做不同的事情.例如,我需要Windows服务,它将:

  1. 通过电子邮件发送每日报告
  2. 每30分钟定期清理一些存档信息
  3. 等等

我需要Windows服务的任务是不同的,所以我不喜欢将它们全部集中在一个服务中的想法.

到目前为止我所拥有的是Visual Studio 2008中的一个项目.我已经创建了一个Windows服务,我在OnStart事件上设置了一个计时器(它只是为了测试目的每5秒写一个文本文件).然后我向项目添加了一个安装程序,当我运行InstallUtil.exe时,一切正常.

当我向同一个项目添加第二个Windows服务时,问题就出现了.我再次设置OnStart代码,使用相同的日志信息(略有不同,以便我可以判断哪个服务正在写入日志).使用第二个Windows服务,我在Program.cs中更改了Main事件:

    static void Main(string[] args)
    {
        ServiceBase[] ServicesToRun = new ServiceBase[] 
        { 
            new Service1()
        };

        ServiceBase.Run(ServicesToRun);
    }
Run Code Online (Sandbox Code Playgroud)

至:

    static void Main(string[] args)
    {
        ServiceBase[] ServicesToRun = new ServiceBase[] 
        { 
            new Service1(),
            new Service2()
        };

        ServiceBase.Run(ServicesToRun);
    }
Run Code Online (Sandbox Code Playgroud)

此时,没有编译时错误,但Service2服务从不做任何事情......日志记录任务永远不会触发.

我把它缩小到第二个服务没有与之关联的"安装程序"的事实.然后,我尝试按照第一项服务的方式添加安装程序(即,右键单击服务设计器,然后单击"添加安装程序").现在,当我转到ProjectInstaller.cs文件时,那里有另一个serviceInstaller(serviceInstaller2).

现在当我构建项目并尝试安装服务时,我转到"服务"控制面板窗口,我尝试启动Service1,收到以下错误消息:

Windows无法在本地计算机上启动Service1服务.

错误1083:此服务配置为运行的可执行程序未实现该服务.

如果我尝试启动Service2,则会收到相同的错误消息(当然,错误消息标识Service2除外).

为了从一个exe运行两个服务,我有什么遗漏吗?

c# windows windows-services

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

使用哪个:"AcceptGet,AcceptPost"(MvcContrib)与AcceptVerbs(ASP.NET Mvc)?

在ASP.NET MVC中,控制器方法可以被装饰为接受特定的HTTP方法(Get,Post,Get等).在MvcContrib和ASP.NET MVC之间有3个类:"AcceptGet,AcceptPost"和AcceptVerbs.全部三个:"AcceptGet,AcceptPost"和AcceptVerbs做同样的事情.它们指定允许访问操作/方法的http方法.

AcceptGet和AcceptPost在MvcContrib中.虽然AcceptVerbs是Mvc框架的原生.哪个更好用?

AcceptGet/AcceptPost(MvcContrib)

/// <returns></returns>
[AcceptGet]
public ActionResult Profile(string id)
Run Code Online (Sandbox Code Playgroud)

AcceptVerbs(ASP.NET Mvc)

/// <returns></returns>
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult EditRequest(string id)
Run Code Online (Sandbox Code Playgroud)

可以在此处找到MvcContrib项目的AcceptPost的文档.

它似乎创建了AcceptGet和AcceptPost,以填补ASP.NET Mvc框架早期版本之一的空白.AcceptGet和AcceptPost类提供了强类型的HttpMethod属性.

使用AcceptVerbs发布的ASP.NET MVC采用枚举:

[Flags]
public enum HttpVerbs
{
    Delete = 8,
    Get = 1,
    Head = 0x10,
    Post = 2,
    Put = 4
}
Run Code Online (Sandbox Code Playgroud)

我的问题是哪一个是更好的实现,AcceptGet/AcceptPost或AcceptVerbs(使用HttpVerbs枚举类型)?

asp.net-mvc

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