「コンパイル」を含む日記 RSS

はてなキーワード: コンパイルとは

2020-03-22

anond:20200322091549

ちょっと計算したいだけなのにエディタエディタってなんすかwwww)で書いてコンパイルしてリンカ通さないといけない言語は大変すな

anond:20200322091421

シンタックスエラーコンパイル時にはじけるのに、実行時にならないとわからないスクリプト言語はたいへんですな プギャー@C言語使い

2020-03-16

anond:20200315225230






















ほぼ毎日使っている一部を挙げたけれども、出勤準備の時間が近付いてきたのでココまで。
気分が向けば追記するかも知れない。

2020-03-15

anond:20200315122517

コンパイラコンパイルできればお金になる時代だった

そういうひとをたくさんつかってお仕事するきっついしごとだからプログラムできると

あるいみ損する

2020-03-14

ボーダーランズ3が欲しい

ストレージ75GBもない

というか何十GBダウンロードできる回線がない(何日もかければできるが)

最低動作環境に出てるグラボスコアが5000くらいだが、うちのやつのスコアが1000しかない


パソコン買い換えるか…

ノートである必要はもうないから、なんか適当な、プログラムコンパイルとかぐるぐるできる四角いやつとか欲しい

anond:20200314172554

linuxでいうと

コンパイルコンパイラ

リンクリン

処理はバッチ

定期実装はクロンなど役割を分けていて各場所が違うだけなんだが

なにができないんだ?C言語だと

2020-03-10

なぜバケツソートプログラム学習有効か?

将来ホゴソートにつながるという先の長さはある

あらゆるソートの基礎を教えられる

 

なかでも、わずか数文字へたすりゃ1文字変えるだけで

バブルソートにかわる

 

わずか数文字が処理速度2倍につながるから

プログラムは怖いというのを教えられる

 

うっかりしてるけど

文字のちがい コンパイルも通るでも

速度は2倍違う こんなのがごろごろしてるのがぷろのせかい

その基礎を バケツソート バブルソートでならって

数行も要らない 数文字でこのざま

2020-03-06

anond:20200306061709

さすがにバブルソートが割礼はわからないけど

わずか数文字書き換えるだけで

計算量が大きく違って、コンパイルが通るなど

実業界で起きる様々な事例を教えるのにソートなど学術的な問題は最適

ホゴソートもいいなとおもった、

わかりやすく、特殊な事例をおしえやすい。

ソート以外でもこんなにいろいろな事例があるんだよって

言い方を変えれば

ソートだけで授業したらなんか月コースになる

文字書き換えただけで1行未満の修正でこれだけのトラブルが起きる

ちゃんと教えるのに数ヶ月コース

anond:20200306061511

コンパイルは通るけど

バブルソートバケツソート

文字でかわっちゃう

そんな業界で、レビューも無く数文字変えるやつ

から数行帰るのにいろんな人にきいてまわることもある

逆にきかないでかえたほうがいいkとおもある。

テストがたいへん

ソートがいいですか?みたいなのを複数に聞いてたらおわらない

anond:20200306061256

わずか数文字変えるだけで

コンパイルは通って動くけど

バケツソートバブルソートが変わる

そうすると

バケツソートと間違えて、もう少し違うアルゴリズムを帰るやつもいる

すみませんですむとおもうから許可もえないでやって

すみませんとあやまれるやつが許可も得ないでやる業界

やられた上司責任とって

出世ふいになっても

すいませんすいませんと ひっしにあやまって

さら胃潰瘍を進める業界

でしゃばりのぎょうかい

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2020-01-30

anond:20200130145256

こういうカスタマイズを入れる方法はいくつかあって

ブランチ

パッチ

フラグインなどがあります

 拡張といえばプラグインが有名ですが、セキュリティー的にはあまり強くは無いのでバイナリーをお客様ごとにコンパイルして

 差分を作ってパッチにしたりすることもあるようです。

2020-01-25

苦労するのは面白いとはいえそうじゃねーんだ。

クロスコンパイル理解できるのに2年ぐらいかかってさ大変だったんだ

あんまりあたまよくなくてさ

がんばったんだ

コンパイルフラグhttpが.\Download\になるいうてるやろ。ZIPOK まぁ営業向けの社内ツールなんやけどな

テスト版とか開発用はこの機能がないとテスターわたしにくいんや

anond:20200125173757 ★

ソートアルゴリズムを例にすると N=1,Big典型的特殊解となる (ように アルゴリズムには特殊解となる組み合わせがある)

  N=1のときはN*Nが1となることで2*Nよりもコストが少なくなる。

  またIFなどがコンパイル最適化されることがある。

  N=Big BigDataなどで有名だがメモリSSDに落ちるなどN次記憶装置問題分散処理の問題に式がシフトしていく

COM DLL HELL解決するDLL検索API検索の規格を統合したDLL呼び出しの規格(これを抑えておくことが重要

  DirectX.NETもCOMをベースにしている部分が多いためCOMを抑えておけばほぼ使える。

  DCOMなどは別解

  .NETTLS試験に気をつけること

Androidは古いバージョンが手に入りにくくなってきているので保存を忘れないこと。テスト環境にあるAndroidを誤ってVersionUPしないように

  N=Bigとき例外となるがSDカードは各メーカーごとにテストする。(当然必要であればメーカー対応コードを書くこと)

ソートを例にとったときのN=1のとき特殊解。

 計算量N*Nと2Nが

N=2以上であれば2Nのほうが速く終わるが

N=1のとき例外的にN=1のほうが速く終わる。

という例外を知ることは重要

 

ではN=Bigがなぜ特殊解か?というと単純に言えば

メモリが足りなくなって不正終了というものから

メモリをあけるためにSSDに書き出すから遅くなる

というものにはじまり

メモリがたりなくなりSSDがたりなくなりさらHDDに書き出してとなると

どんどん遅くなっていく

 

逆にすさまじく小さい場合何が起きるかはN=1のとき例外として考えてみてほしい

 

ちなみに、コンパイルオプションには速度優先コンパイルコードが長くなっても高速なアセンブラを書く)とサイズ優先(速度が遅くなっても短いコードを書く)がある。

2020-01-14

コンパイルチェックまでしたったで

C++11行のコード書いたよ!ブラウザ上でプログラミング・実行できるよ! コードhttps://paiza.io/projects/XDXoXTklarKuOTbWdzo5Kw?locale=en-us #paizaIO via @paizaIO_jp

int main(void){

// Your code here!

for(int i=0;i<10;i++){

printf(" ");

}

printf("***\n")

;}

各種書名検証連鎖証明、まんがいち秘密鍵漏洩した場合対処

さまざまなコンパイルフラグ DEFINE、アセンブラレベルでの柔軟性、ヒープ対処

試験工数をかんがみてある設計試験工数が大きくなりすぎる機能に対する工夫)

単位テスト

anond:20200114151740

まぁこういう試験ではでていたけど

レアケースだし、環境依存するから特定メーカー向け意外にはOFFになっている

コンパイルフラグの類のコードアセンブラにはでてこないから、リバースでは見つからないけど

ちゃんと、ソースコードにはあるのだ

技術貯金

引継ぎ先のチーム

問題出るも、ほとんど、自分たちのチームの時に出ていてリリースに含めなかったレアケースばかり

機能有効にするためのコンパイルオプションを入れてもらったり程度で対処可能だった模様。

引継ぎも無事よさげで、問題もなく

会社に与えた損害はなし、ひきついだものが稼いでくれれば利益が大きい ま とりぶんないだろうけど それもまた人生 いいなぁ

ソートがまさにそうだけど、バブルソートの特異領域N=1,Bigがそうだけど(例示)

教科書どおりにならないことがあるから

ソートアルゴリズムも1つじゃなくて、テキストでもあれだけ教えている。

現場ではどうするか?といえば

何種類も書いて、データを取って、比較検討して

採択されたものソースコードに書かれる。それいがいはブランチに合ったりする。

いくつかは、排他的だったり選択的だったりして

コンパイルオプションソースコードに残る

これらがあるので、いわゆるバイナリリバースからソースコードの複雑さは推し量れないし

こういう膨大なテストがあったりするので(俺の場合は少ないが)

ソースコード価値はなかりしれなかったりする。

 

リバースだけから学ぼうとするな、ソースコードアセンブリ結果から学べ

というのはそういうこと

 

いくつかいったけど、コンパイラ最適化を期待したりしてソースを書いたりするので

そういう書き回しをまなんでいくことも重要

ソースだけになw

anond:20200114081806

いちおう、連鎖書名のすべての書名を1つ1つ確認していくようなオプションコンパイルオプションではあったはず。書いた記憶がある。Forまわすだけやからな。

コンパイルオプションでOFFになっているが。

2020-01-13

彼女ちゃんと私のコンパイルエラーを読めよ」

彼女リファクタリングに愛が足りない」

彼女「その短小リンカーで私を満足させるつもり?」

2020-01-11

anond:20200111100112

int i=3+4;

こんな命令

コンパイル時にi=7

最適化されることがある。是非はある。良い場合と悪い場合があるからなんともいえないけれど、

コンパイラ最適化することがある、または、最適化してしまうことがある(バグの原因になる)というのは覚えておく必要がある。

普段はある一定範囲コンパイラ最適化してくれるということに頼って、・・・まぁ、マニュアル自動車オートマ自動車みたいな感じで

シフトチェンジオートマに任せる感覚最適化されることを前提にCのコードを書くこともある。

ログイン ユーザー登録
ようこそ ゲスト さん