落書きノート

ふと自分が気になった事を書いてます

Mac OS X

SDLでゲームプログラミング

ゲームプログラミングで試したいことが出来たので、とりあえず雛形を作りました。いつものように単発で作っていくだけです。次回以降の記事からメニュー選択画面を作ってみたいと思います。思いつきなのでとりあえずmacOSで試しました。 #include <SDL2/SDL.h> #include <stdio.h></stdio.h></sdl2/sdl.h>…

macOSのEmacsの設定

macOSでのEmacsの設定を単純にして見ました。バイナリ配布のEmacsで使ってます。 ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by addi…

JavaプログラムでText to Speech Mac OS Xで

Mac OS XのJavaプログラムで手軽にText to Speechをやってみました。もちろんKyokoかOtoyaの音声機能が必要になると思うので事前に用意しておいてくださいね。 import java.io.IOException; import java.util.Scanner; class speechtest { public static voi…

Mac OS XのEmacsの設定

この一つ前の記事に投稿したように大雑把ですけど、Emacsの設定ファイルを公開します。自信があるというわけではないのですが、最近はこれで変更することも無くなったので、安定しているのではないかと。もちろん拡張してあるので、このままでは動きませんが…

Objective-C + Cocoa + AVFoundationと音声読み上げ機能を使った副音声のプログラム。完成版。

デスクトップアプリケーション向けのコードの情報が少ないので、需要あるかなぁと思って載せてみる。自分用に抜き出して使ってみてください。自分が作った副音声のプログラムから抜粋しています。 #import <Cocoa/Cocoa.h> #import <AVKit/AVKit.h> #import <AVFoundation/AVFoundation.h> @interface AppDelegate : NSOb</avfoundation/avfoundation.h></avkit/avkit.h></cocoa/cocoa.h>…

C/C++ UNIX stderrorとperrorの使用例

#include "apue.h" #include <errno.h> int main(int argc, char *argv[]){ fprintf(stderr, "EACCES: %s\n", strerror(EACCES)); errno = ENOENT; perror(argv[0]); exit(0); } 実行結果は以下のとおり。 > ./stderror_perror EACCES: Permission denied ./stderror_</errno.h>…

C/C++ UNIX 標準入力からコマンドを読み実行する プロセス制御

#include "apue.h" #include <sys/wait.h> int main(void){ char buf[MAXLINE]; pid_t pid; int status; printf("%% "); while(fgets(buf, MAXLINE, stdin) != NULL){ if(buf[strlen(buf) - 1] == '\n') buf[strlen(buf) - 1] = 0; if((pid = fork()) < 0){ err_sys("for</sys/wait.h>…

C/C++ UNIX プロセスIDを表示する

#include "apue.h" int main(void){ printf("hello world from process ID %ld\n", (long)getpid()); exit(0); } getpid関数が、プロセスIDを取得する部分になる。この場合はlong型にキャストしているため、フォーマット指定子は%ldとなる。プロセスIDはロン…

C/C++ UNIX 標準入力を標準出力へコピーその2

#include "apue.h" int main(void){ int c; while((c = getc(stdin)) != EOF) if(putc(c, stdout) == EOF) err_sys("output error"); if(ferror(stdin)) err_sys("input error"); exit(0); } getc関数で、stdinつまり標準入力の文字を1文字ずつ読み込んで行…

C/C++ UNIX 標準入力を標準出力へコピー

とりあえずこんな感じです。 #include "apue.h" #define BUFFSIZE 4096 int main(void){ int n; char buf[BUFFSIZE]; while((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0) if(write(STDOUT_FILENO, buf, n) != n) err_sys("write error"); if(n < 0) err_sy…

C/C++ Unix lsコマンドの骨格プログラム 実験方法

参考書についているAPUEを使ってプログラムを作るやり方です。主に実験方法をメモします。ちょっとつまずきました。 #include "apue.h" #include <dirent.h> int main(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if(argc != 2) err_quit("usage: ls dire</dirent.h>…