任何人都知道从.c源代码到最终可执行文件的完整操作链.exe?
我已经下载了gcc的源代码,发现它c-parser.y也是用c编写的:
extdef:
fndef
| datadef
| ASM_KEYWORD '(' expr ')' ';'
{ STRIP_NOPS ($3);
if ((TREE_CODE ($3) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND ($3, 0)) == STRING_CST)
|| TREE_CODE ($3) == STRING_CST)
assemble_asm ($3);
else
error ("argument of `asm' is not a constant string"); }
| extension extdef
{ pedantic = $<itype>1; }
;
Run Code Online (Sandbox Code Playgroud)
所以任何人都知道c的自托管的完整故事?
UPDATE
我知道如何编写一些脚本编译器,其中大部分都依赖于c编译器.
所以我现在问c编译器是如何工作的.
我使用 net.tcp 将 WCF 作为 Windows 服务托管。在启动服务时安装 Windows 服务后,我发现该服务已启动和停止。
错误说明为了向服务“MYService”添加端点,必须指定非空合同名称。在 System.ServiceModel.Description.ConfigLoader.LookupContract(String contractName, String serviceName)
我的 OnStart 函数如下
protected override void OnStart(string[] args)
{
try
{
if (myServiceHost != null)
{
myServiceHost.Close();
}
myServiceHost = new ServiceHost(typeof(MYservice));
myServiceHost.Open();
}
catch (Exception ex)
{
log.Error("ONStart", ex);
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
配置文件如下:
<serviceHostingEnvironment minFreeMemoryPercentageToActivateService="10" />
<services>
<service behaviorConfiguration="myServiceBehavior"
name="myNamespace.myTestService">
<endpoint binding="netTcpBinding" bindingConfiguration="netTCPBindingConfig" contract="myNamespace.ServiceInterface.ImyTestService" />
<endpoint binding="mexTcpBinding" bindingConfiguration="" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://10.1.3.69:8523/TestService" />
</baseAddresses>
<timeouts closeTimeout="10:00:10" openTimeout="10:01:00" />
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior …Run Code Online (Sandbox Code Playgroud) 我正在为我工作的公司OWIN自托管做一些研究.但是身份验证部分我无法使其工作,我可以找到的所有示例都不清楚或为ASP.NET编写,而我只允许使用C#.我想要做的是有一个列表,xml文件或数据库,其中一个现在无关紧要,但我想使用其中一个源为OWIN自托管创建我自己的自定义身份验证,而不使用ASP.NET和MVC.连接将是HTTPS,客户端是基于HTML/JavaScript的.我希望有人可以指出我正确的方向或给我一个例子.
我想知道为什么我们应该使用Webapi SelfHosted以及它在哪里有用?
假设我们有一个控制台应用程序和自主Webapi有什么好处?
我正在从同一解决方案中的另一个项目引用 Visual Studio 解决方案中的一个项目。被引用的项目(项目 B)具有 Microsoft.Owin.Host.HttpListener nuget 包,因此其中引用了 .dll。正在构建引用项目 B(项目 A)的项目。输出文件夹获取项目 B 中引用的所有 dll,但 Microsoft.Owin.Host.HttpListener.dll 除外,即使它被标记为 Copy Local - true。
Microsoft.Owin.Host.HttpListener.dll 是迄今为止我遇到的唯一一个拒绝将其作为 MSBuild 的 _CopyFilesMarkedCopyLocal 步骤的一部分复制到项目 A 的构建输出,而不管设置如何。
我试图将它添加到 app.config 中的条目中,但没有帮助。
我已经安排了展示引用问题的示例项目并将其上传到 GitHub here。
您可以随意设置。
在问这个问题之前,我已经查看了 Stackoverflow 中的相关问题,但没有回答或不相关。
请给我一个提示,如何按预期将 .HttpListener.dll 与其他 .dll 一起复制到引用项目输出。
好的,我在 Arch Linux 操作系统上运行 Apache Server 2.4.20。我目前的设置和工作方式是,来自任何外部连接的请求都通过我的公共静态 IP 转发到连接到服务器的本地 IP。除了在路由器上设置端口转发并将 设为 之外,我无需配置任何其他内容即可使服务器运行/etc/http/conf/httpd.conf。Listen 80嗯,看起来很简单。
现在我想继续该过程的下一步并托管我通过 Apache 服务器购买的域名。基本上,到目前为止,当您连接到我的服务器时,它只会在地址栏中显示我的公共静态 IP。我想以这样的方式进行设置,即域名显示在地址栏中,而不是我的服务器的 IP。
截至目前,我已经尝试了三天来找到执行此操作的正确方法,似乎实际上没有任何指南可以逐步解释这一点。我对此进行了大约 40 个小时的研究。我收集的点点滴滴是
httpd.conf在文件中使用虚拟主机我已经尝试了虚拟主机组合的所有可能组合,并尝试配置我的名称服务器,但它不起作用,我浪费了大量时间。有人可以从头到尾写一份关于在 Apache 服务器上设置域名的简短指南吗?我不需要对正在做什么进行特别深入的解释,我单独理解这些过程,我只是不理解设置它的过程。
因此,如果有人能够制作一个简单的示例来展示从开始到结束的过程,我会很高兴,再次对您在每个步骤中所做的事情的解释应保持在最低限度,因为任何经历过此过程的人都应该这样做。此时再研究。
例子:
我现在拥有的:
Apache Server IP: **234.34.23.2**
Run Code Online (Sandbox Code Playgroud)
有人输入此内容,他们就会获得您的index.html页面,并且该 IP 显示在地址栏中。
我也想得到什么:
Purchased Domain Name: www.example.com
Run Code Online (Sandbox Code Playgroud)
现在,当有人在地址栏中输入此内容时,他们会在同一index.html页面上获得服务,并且该域名保留在地址栏中。
注意:我尝试仅对单个域执行此操作,因此我不需要涉及多个虚拟主机的示例。
我刚刚建立了一个幽灵博客。这是VPS 上的全新安装,并且已正确启动并运行。
默认情况下,Ghost在浏览器中打开时会显示帖子列表。我希望在该位置有一个主页/,并且可以在/blog. 据我所知,这可以通过使用Dynamic Routing来实现。
为了简化这一点,我想我可以page(Ghost 有页面和帖子的概念)作为主页。然后我可以使用已经存在的page.hbs模板呈现这个页面。
这是我的routes.yaml文件:
routes:
/:
data: page.home
template:
- page
collections:
/blog/:
permalink: /blog/{slug}/
template:
- index
taxonomies:
tag: /blog/tag/{slug}/
author: /blog/author/{slug}/
Run Code Online (Sandbox Code Playgroud)
我有一个名为home的页面,但是当我加载主页时,我得到一个空页面:只显示页脚。
日志中没有提示告诉我可能发生什么。我理解routes.yaml正确吗?是page.home不是如何向页面传递数据?
如何从自托管WCF 4.5服务获取JSON?
我正在使用Fiddler2发送带有"Content-Type:application/json"的请求(也尝试过"Content-Type:application/javascript"),但我一直在使用XML.
结合在我的WebHttpBehavior上设置"AutomaticFormatSelectionEnabled = true",我仍然得到XML,当使用"Content-Type:application/json"时,服务器根本不会响应(然后我得到错误103)
我在WebHttpBinding上启用了CrossDomainScriptAccessEnabled,并且我在控制台主机中使用了WebServiceHost.
服务很简单:
[ServiceContract]
public interface IWebApp
{
[OperationContract, WebGet(UriTemplate = "/notes/{id}")]
Note GetNoteById(string id);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试将AutomaticFormatSelectionEnabled设置为false并在我的服务合同中使用ResponseFormat = WebMessageFormat.Json,但这也导致"错误103"没有进一步的信息.
我已经转换了customErrors并将FaultExceptionEnabled,HelpEnabled设置为true(不确定是否会对此做任何事情但只是为了确保我已经尝试过所有这些)
我错过了一个dll还是别的什么?
我试图得到它,以便任何请求:
http://<myserver>:1234
被重定向到:
https://<myserver>:1234
我试过在模块中使用“this.RequiresHttps()”,但是当我点击 url 时http://<myserver>:1234,浏览器只是旋转,我猜这是因为我没有NancyHost用 HTTP URI构造。我无法将 HTTP URI 与 HTTPS URI 一起添加到 NancyHost,如下所示:
var host = new NancyHost(new Uri("http://localhost:1234"), new Uri("https://localhost:1234"));
因为我会遇到注册冲突。
有任何想法吗?
默认的Vesta CP 0.9.8附带PHP5.4,这使我在Laravel 4.2网站上出现问题.如何将自托管Vesta CP的php版本从5.4升级到最新5.6?
我使用这样的例子来创建一个自托管的API控制器.它可以HttpPost和HttpGet一个Customer对象.
获得CustomerId 的(简化)函数是:
[RoutePrefix("test")]
public class MyTestController : ApiController
{
[Route("getcustomer")]
[HttpGet]
public Customer GetCustomer(int customerId)
{ // as a test: react as if this customer exists:
return new Customer()
{
Id = customerId,
Name = "John Doe",
};
}
...
}
Run Code Online (Sandbox Code Playgroud)
这很好用.在我的客户端,我可以通过Id向该测试服务器询问客户,并且我获得具有预期数据的客户.
显然,调用函数知道如何将返回的Customer包装到HttpResponseMessage可以传输到我的客户端的对象(?)中.
下一步:如果找不到客户,则返回错误404.
[Route("getcustomer")]
[HttpGet]
public Customer GetCustomer(int customerId)
{ // as a test: only customer 1 exists
if (customerId == 1)
{
return new Customer() …Run Code Online (Sandbox Code Playgroud) self-hosting ×11
c# ×3
owin ×3
linux ×2
wcf ×2
apache ×1
c ×1
centos6.5 ×1
copy-local ×1
ghost-blog ×1
http ×1
https ×1
json ×1
laravel-4 ×1
nancy ×1
php-5.6 ×1
redirect ×1
reference ×1
rest ×1
web-hosting ×1